java jdbc数据库连接代码封装
来源:互联网 发布:java magic number 编辑:程序博客网 时间:2024/04/29 18:18
一个很好的封装jdbc数据库类
package cn.com.util;import java.sql.*;import java.util.*;/** * 数据库操作工具类 * * @author Administrator * */public class DBUtil {private static Connection con = null;// 连接对象private static PreparedStatement psmt = null;// 预编译对象private static ResultSet rs = null;// 结果集对象private static CallableStatement csmt = null;// 过程对象/** * 获得连接对象 * @return */public static Connection getConnetion() {try {Class.forName("com.mysql.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mytest","root","gc7923959");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blockSystem.out.println("找不到驱动");} catch (Exception e) {// TODO Auto-generated catch blockSystem.out.println("数据库连接失败");}return con;}/** * * @param sql * @return */public static PreparedStatement getPreparedStatement(String sql) {con = getConnetion();try {psmt = con.prepareStatement(sql);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return psmt;}/** * 查询获得所有 * @param sql * @return 结果集 */public static ResultSet getResultSet(String sql) {psmt = getPreparedStatement(sql);try {rs = psmt.executeQuery();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return rs;}/** * 更新操作 * @param sql * @param params * @return 受影响的行数 */public static int executeUpdate(String sql, List<Object> params) {int count = 0;psmt = getPreparedStatement(sql);bindPramas(psmt, params);try {count = psmt.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {CloseAll();}return count;}/** * 查询 带参数 * @param sql * @param params * @return 结果集 */public static ResultSet executeQuery(String sql, List<Object> params) {psmt = getPreparedStatement(sql);if (params != null) {bindPramas(psmt, params);}try {rs = psmt.executeQuery();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(psmt);return rs;}public static CallableStatement getCallableStatement(String sql) {try {csmt = getConnetion().prepareCall(sql);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return csmt;}public static Object executeCallObject(String sql,Map<Integer, Object> params) {Object obj = null;try {int index = 0;// 输入参数下标csmt = getCallableStatement(sql);for (int i = 1; i <= params.size(); i++) {if (params.get(i).toString().equals("Integer")) {csmt.registerOutParameter(i, Types.INTEGER);index = i;} else {csmt.setObject(i, params.get(i));}}csmt.execute();obj = csmt.getObject(index);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return obj;}public static void bindPramas(PreparedStatement psmt, List<Object> params) {int index = 0;if (params != null) {for (Object p : params) {try {psmt.setObject(index + 1, p);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}index++;}}}public static void CloseAll() {try {if (con != null) {con.close();}if (psmt != null) {psmt.close();}if (rs != null) {rs.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
0 0
- java jdbc数据库连接代码封装
- java JDBC数据库连接封装和实例代码
- Java之MySQL数据库连接--JDBC驱动代码封装
- JDBC 对数据库连接的封装
- JDBC数据库连接规范代码
- JDBC-数据库连接代码优化
- java-JDBC:JDBC数据库连接字符串
- Mysql数据库连接———JDBC,Java代码
- Java数据库连接(JDBC)
- java--各种数据库连接jdbc
- java中jdbc数据库连接
- java数据库连接 JDBC:ODBC
- java jdbc数据库连接
- java jdbc数据库连接
- java jdbc数据库连接
- java jdbc数据库连接
- 《 Java数据库连接(JDBC) 》
- java jdbc数据库连接
- 关于matlab与C混编的问题
- jetty入门笔记(从部署到原理)
- VMWare网络设置的3中方式
- 阶段小结
- .Net发送邮件
- java jdbc数据库连接代码封装
- retain、strong、weak、assign区别
- leetcode 303 : Range Sum Query - Immutable
- UIWebView加载https网页
- 如何避免android layout.xml 布局文件中重名id的错误
- Ant常用命令简介以及一个最完整的build.xml样例
- Linux服务器搭建SVN及使用
- 3种编程范式间的异同
- “firefox profile cannot be loaded" "server cannot be found"