⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 databasefactory.java

📁 JAVA很有用的一个框架通常使用情况是SSH 一般用于做一个小的CRM
💻 JAVA
字号:
package com.cstp.hiber.prin.common;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;

import com.cstp.hiber.prin.common.TableInfoIntl;
import com.cstp.hiber.prin.dao.BookInfo;

public class DatabaseFactory {
	public String insert(TableInfoIntl tableClass,String[] columns){
		String sql="";
		
		
		if(tableClass==null||columns==null)
			return null;
		
		sql="insert into "+ tableClass.getTableName();
		
		String columnsBuffer=null;
		String valuesBuffer=null;
		
		for(int i=0;i<columns.length;i++){
			if(columnsBuffer==null){
				columnsBuffer=columns[i];
				valuesBuffer="?";
			}
			else{
				columnsBuffer+=","+columns[i];
				valuesBuffer+=",?";
			}
		}
		
		if(columnsBuffer!=null){
			sql+="("+ columnsBuffer +") values("+ valuesBuffer +")";
		}
		else{
			return null;
		}
		
		return sql;
	}
	
	
	public String getInsertSql(TableInfoIntl tableClass){
		String sql="";
		
		
		if(tableClass==null)
			return null;
		
		sql="insert into "+ tableClass.getTableName();
		
		String columnsBuffer=null;
		String valuesBuffer=null;
		
		LinkedHashMap columns=tableClass.getColumns();
		Iterator it=columns.keySet().iterator();
		
	
		while(it.hasNext()){
			String key=it.next()+"";
			String value=columns.get(key)+"";
			
			if(columnsBuffer==null){
				columnsBuffer=value;
				valuesBuffer="?";
			}
			else{
				columnsBuffer+=","+value;
				valuesBuffer+=",?";
			}
		}

		if(columnsBuffer!=null){
			sql+="("+ columnsBuffer +") values("+ valuesBuffer +")";
		}
		else{
			return null;
		}
		
		return sql;
	}
	
	public String getInsertSql(TableInfoIntl tableClass,HashMap<String,Object> values){
		String sql="";
		
		
		if(tableClass==null)
			return null;
		
		sql="insert into "+ tableClass.getTableName();
		
		String columnsBuffer=null;
		String valuesBuffer=null;
		
		LinkedHashMap columns=tableClass.getColumns();
		Iterator it=columns.keySet().iterator();
		
	
		while(it.hasNext()){
			String key=it.next()+"";
			String value=columns.get(key)+"";
			
			if(columnsBuffer==null){
				columnsBuffer=value;
				valuesBuffer="?";
			}
			else{
				columnsBuffer+=","+value;
				valuesBuffer+=",?";
			}
		}
		
		if(columnsBuffer!=null){
			sql+="("+ columnsBuffer +") values("+ valuesBuffer +")";
		}
		else{
			return null;
		}
		
		return sql;
	}
	
	
	public boolean insertBean(TableInfoIntl tableClass,HashMap<String,Object> values){
		String sql=this.getInsertSql(tableClass);
		System.out.println(sql);
		
		//System.exit(0);
		
		Connection connection=null;
		PreparedStatement pstmt=null;
		try{
			Class.forName("org.gjt.mm.mysql.Driver");
			connection=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test_db","root","123456");;
			pstmt=connection.prepareStatement(sql);
			//设置值
			
			LinkedHashMap<String,String> columnInfo=tableClass.getColumns();
			
			//pstmt.setDate(1, java.sql.Date.valueOf(""));
			Iterator value_it=columnInfo.keySet().iterator();
			int index=1;
			while(value_it.hasNext()){
				Object key=value_it.next();
				String column=columnInfo.get(key);
				Object itemValue=values.get(key);
				if(itemValue!=null){
					System.out.println(itemValue.getClass().getName());
				}
				boolean isSet=false;
				if(itemValue!=null&&itemValue.getClass().getName().equals("java.util.Date")){
					System.out.println(itemValue);
					//
					System.out.println(((java.util.Date)itemValue).toLocaleString());
					//itemValue=java.sql.Date.valueOf(((java.util.Date)itemValue).toLocaleString());
					isSet=true;
					java.sql.Timestamp ts=java.sql.Timestamp.valueOf(((java.util.Date)itemValue).toLocaleString());
					pstmt.setTimestamp(index, ts);
					//pstmt.setDate(index, java.sql.Date.valueOf(((java.util.Date)itemValue).toLocaleString()));	
					//itemValue=null;
				}
				if(!isSet)
					pstmt.setObject(index, itemValue);
				index++;
			}
			
			pstmt.executeUpdate();
			pstmt.close();
			connection.close();
		}
		catch(Exception e){
			e.printStackTrace();
		}
		finally{
			if(pstmt!=null)
				pstmt=null;
			if(connection!=null)
				connection=null;
		}
		return true;
	}
	
	public boolean insetBean(TableInfoIntl tableClass){
		String sql=this.getInsertSql(tableClass);
		System.out.println(sql);
		HashMap<String,Object> values=tableClass.getColumnValues();
		//System.exit(0);
		
		Connection connection=null;
		PreparedStatement pstmt=null;
		try{
			Class.forName("org.gjt.mm.mysql.Driver");
			connection=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test_db","root","123456");;
			pstmt=connection.prepareStatement(sql);
			//设置值
			
			LinkedHashMap<String,String> columnInfo=tableClass.getColumns();
			
			//pstmt.setDate(1, java.sql.Date.valueOf(""));
			Iterator value_it=columnInfo.keySet().iterator();
			int index=1;
			while(value_it.hasNext()){
				Object key=value_it.next();
				String column=columnInfo.get(key);
				Object itemValue=values.get(key);
				if(itemValue!=null){
					System.out.println(itemValue.getClass().getName());
				}
				boolean isSet=false;
				if(itemValue!=null&&itemValue.getClass().getName().equals("java.util.Date")){
					System.out.println(itemValue);
					//
					System.out.println(((java.util.Date)itemValue).toLocaleString());
					//itemValue=java.sql.Date.valueOf(((java.util.Date)itemValue).toLocaleString());
					isSet=true;
					java.sql.Timestamp ts=java.sql.Timestamp.valueOf(((java.util.Date)itemValue).toLocaleString());
					pstmt.setTimestamp(index, ts);
					//pstmt.setDate(index, java.sql.Date.valueOf(((java.util.Date)itemValue).toLocaleString()));	
					//itemValue=null;
				}
				if(!isSet)
					pstmt.setObject(index, itemValue);
				index++;
			}
			
			pstmt.executeUpdate();
			pstmt.close();
			connection.close();
		}
		catch(Exception e){
			e.printStackTrace();
		}
		finally{
			if(pstmt!=null)
				pstmt=null;
			if(connection!=null)
				connection=null;
		}
		return true;
	}
	
	public static void main(String args[]){
		DatabaseFactory app=new DatabaseFactory();
//		String sql=app.getInsertSql(new BookInfo());
		
//		HashMap<String,Object> data=new HashMap<String,Object>();
//		data.put("biTitle", "图书信息");
//		data.put("biPublishTime", (new java.util.Date()));
//		data.put("biAuthor", "Kevin");
//		
//		app.insertBean(new BookInfo(), data);
		BookInfo tableClass=new BookInfo();
		
		tableClass.setBiAuthor("Mading");
		tableClass.setBiClassId(1);
		tableClass.setBiPublishTime(new java.util.Date());
		app.insetBean(tableClass);
		
		//System.out.println(sql);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -