首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

jdbc 连接数据库封装类,可返回地图,或者vo(自用)

2013-11-15 
jdbc 连接数据库封装类,可返回map,或者vo(自用)?2。反射?3.工具类package com.coffee.databaseservices.dat

jdbc 连接数据库封装类,可返回map,或者vo(自用)

?3.工具类

package com.coffee.databaseservices.database.DBConnection;import java.lang.reflect.InvocationTargetException;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.coffee.bean.db.accounts.modelObjectVo;import com.mysql.jdbc.Connection;  public  class DBTools {// start *****************************************************内部数据库用*************************************************/* * 连接的数据库,查询游戏数据库数据库中的 条目数 * return intNum */ public static int getCount(String sgDatabaseIp,String sgDatabasePort,String sgDatabaseName,        String sgUserName,String sgDatabasePassword,String sql) {int totalRecordNum=0;DbConnection bdconn=new DbConnection(sgDatabaseIp,sgDatabasePort,sgDatabaseName,sgUserName,sgDatabasePassword);//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){totalRecordNum =bdconn.queryCountNum(sql);bdconn.closeDatabase();}return totalRecordNum;}/* * 连接的数据库,查询游戏数据库中的 list <Map> 集合 * 每条集合包含一个list 适合单表或者多表查询 根据select 后的字段自行封装 * return list *  */ public static List getForList(String sgDatabaseIp,String sgDatabasePort,String sgDatabaseName,String sgUserName,String sgDatabasePassword,String sql) {List list=null;DbConnection bdconn=new DbConnection(sgDatabaseIp,sgDatabasePort,sgDatabaseName,sgUserName,sgDatabasePassword);//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){list=bdconn.queryForList(sql);bdconn.closeDatabase();}return list;}/* * 连接的数据库,查询游戏数据库中的 list <vo> 集合 * 每条集合包含一个list 适合单表或者多表查询 根据select 后的字段自行封装 * clazz 要封装的 VO * return list */ public static List getObjectForList(String sgDatabaseIp,String sgDatabasePort,String sgDatabaseName,String sgUserName,String sgDatabasePassword,String sql,Class clazz) {List list=null;DbConnection bdconn=new DbConnection(sgDatabaseIp,sgDatabasePort,sgDatabaseName,sgUserName,sgDatabasePassword);//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){Connection conn=(Connection) bdconn.getDbConnection();list=new ORMClassSql().getObjectsForList(sql, clazz, conn);bdconn.closeDatabase();if (conn!=null) {try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}return list;}/* * 连接的数据库,查询游戏数据库中的  单条 Vo 集合 *  适合单表或者多表查询 根据select 后的字段自行封装成一个 javaBean * clazz 要封装的 VO * return list */ public static Object getObjectForBean(String sgDatabaseIp,String sgDatabasePort,String sgDatabaseName,String sgUserName,String sgDatabasePassword,String sql,Class clazz) {Object obj=null;DbConnection bdconn=new DbConnection(sgDatabaseIp,sgDatabasePort,sgDatabaseName,sgUserName,sgDatabasePassword);//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){Connection conn=(Connection) bdconn.getDbConnection();try {obj=new ORMClassSql().getObject(sql, clazz, conn);} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (IllegalAccessException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (InvocationTargetException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}finally{bdconn.closeDatabase();if (conn!=null) {try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}return obj;}/* * 连接的数据库,查询游戏数据库中的 list <Map>集合 * 每条集合包含一个list 适合单表或者多表查询 根据select  * fields 保留想要封装的字段 * return list */ public static List getForList(String sgDatabaseIp,String sgDatabasePort,String sgDatabaseName,String sgUserName,String sgDatabasePassword,String sql,ArrayList fields) {List list=null;DbConnection bdconn=new DbConnection(sgDatabaseIp,sgDatabasePort,sgDatabaseName,sgUserName,sgDatabasePassword);//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){list=bdconn.queryForList(sql,fields);bdconn.closeDatabase();}return list;}/* * 连接的数据库,对数据库 增、删、改 操作 * return intNum */ public static int dbUpdateForServer(String sgDatabaseIp,String sgDatabasePort,String sgDatabaseName,String sgUserName,String sgDatabasePassword,String sql) {boolean updateFlag=false;int updateflag=0;DbConnection bdconn=new DbConnection(sgDatabaseIp,sgDatabasePort,sgDatabaseName,sgUserName,sgDatabasePassword);//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){updateFlag=bdconn.dbUpdate(sql);if(!updateFlag){System.out.println("插入操作失败");}else{updateflag=1;}}return updateflag;}/* * 连接的数据库,对数据库 增、删、改 操作 * 预编译 * return intNum */ public static int dbPreparedUpdateForServer(String sgDatabaseIp,String sgDatabasePort,String sgDatabaseName,String sgUserName,String sgDatabasePassword,String sql,Object[] paras) {boolean updateFlag=false;int updateflag=0;DbConnection bdconn=new DbConnection(sgDatabaseIp,sgDatabasePort,sgDatabaseName,sgUserName,sgDatabasePassword);//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){updateFlag=bdconn.PreparedStatementUpdate(sql,paras);if(!updateFlag){System.out.println("插入操作失败");}else{updateflag=1;}}return updateflag;}// end *****************************************************内部数据库用*************************************************// start *****************************************************外部数据库用*************************************************/* * 连接的数据库,对数据库 增、删、改 操作 * return intNum */ public static int dbUpdate(String sql) {boolean updateFlag=false;int updateflag=0;DbConnection bdconn=new DbConnection();//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){updateFlag=bdconn.dbUpdate(sql);if(!updateFlag){System.out.println("插入操作失败");}else{updateflag=1;}}return updateflag;}/* * 连接的数据库,对数据库 增、删、改 操作 * 预编译 * return intNum */ public static int dbPreparedUpdate(String sql,Object[] paras) {boolean updateFlag=false;int updateflag=0;DbConnection bdconn=new DbConnection();//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){updateFlag=bdconn.PreparedStatementUpdate(sql,paras);if(!updateFlag){System.out.println("插入操作失败");}else{updateflag=1;}}return updateflag;}/* * 连接的数据库,查询Account 数据库中的条目数 * return intNum */ public static int getAccountCount(String sql) {int totalRecordNum=0;DbConnection bdconn=new DbConnection();//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){totalRecordNum =bdconn.queryCountNum(sql);bdconn.closeDatabase();}return totalRecordNum;}/* * 连接的数据库,查询account 数据库游戏数据库中的 list <Map> 集合 * 每条集合包含一个list 适合单表或者多表查询 根据select 后的字段自行封装 * return list */ public static List getAccount_ForList(String sql) {List list=null;DbConnection bdconn=new DbConnection();//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){list=bdconn.queryForList(sql);bdconn.closeDatabase();}return list;}/* * 连接的数据库,查询游戏数据库中的  单条 Vo 集合 *  适合单表或者多表查询 根据select 后的字段自行封装成一个 javaBean * clazz 要封装的 VO * return list */ public static Object getAccountObjectForBean(String sql,Class clazz) {Object obj=null;DbConnection bdconn=new DbConnection();//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){Connection conn=(Connection) bdconn.getDbConnection();try {obj=new ORMClassSql().getObject(sql, clazz, conn);} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (IllegalAccessException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (InvocationTargetException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}finally{bdconn.closeDatabase();if (conn!=null) {try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}return obj;}/* * 连接的数据库,查询游戏数据库中的 list <Map> 集合 * 每条集合包含一个list 适合单表或者多表查询 根据select  * fields 保留想要封装的字段 * return list */ @SuppressWarnings("unchecked")public static List getAccount_ForList(String sql,ArrayList fields) {List list=null;DbConnection bdconn=new DbConnection();//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){list=bdconn.queryForList(sql,fields);bdconn.closeDatabase();}return list;}// end *****************************************************外部数据库用*************************************************/*........................................多条查询共通模版...................................................................*//**      *      * 执行SQl 语句返回一个结果集     * @param 用于执行的select语句     *  * 2013-02-22      * @author liutao     * @return modelObjectVo queryForModel      */public static modelObjectVo queryForModel(String sgDatabaseIp,String sgDatabasePort,String sgDatabaseName,String sgUserName,String sgDatabasePassword,String sql) {modelObjectVo obj= new modelObjectVo();DbConnection bdconn=new DbConnection(sgDatabaseIp,sgDatabasePort,sgDatabaseName,sgUserName,sgDatabasePassword);//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if(flag){obj = bdconn.queryForModel(sql);bdconn.closeDatabase();}return obj;}/** *  * @param sgDatabaseIp * @param sgDatabasePort * @param sgDatabaseName * @param sgUserName * @param sgDatabasePassword * @param sqls * @return * @description 执行批量sql语句(增、删、改等批量的sql操作) * @version 1.0 * @author liutao * @update Apr 20, 2013 9:41:18 AM */@SuppressWarnings("static-access")public static int[] exeBatch(String[] sqls){int[] result= null;DbConnection bdconn=new DbConnection();//连接数据初始化boolean flag =bdconn.dbConnectionSuccess();//返回连接对象 ,false为连接失败 true 为成功if (flag) {java.sql.Connection con =bdconn.getDbConnection();boolean flags = bdconn.supportBatch(con);if (flags) {result = bdconn.goBatch(con, sqls);}}return result;}    }

?下面是完整的下载包,代码难免有缺陷,忘多多指点

热点排行