两个JDBC连接数据库的工具类
来源:互联网 发布:如何看淘宝价格走势 编辑:程序博客网 时间:2024/06/11 05:10
两个JDBC连接数据库的工具类
在以前我看过一些C#的东西,知道C#有一个DBHelper的工具类,各种返回DataTable,DataSet很方便,后来看Java,一直没看到有类似的东西,当然这其中有C#的Sql相关类可以脱离COnnection而存在,JDBC的Sql相关类必须保持Connection打开有关。
后来发现JDBC的连接数据库的工具类只要完成简单的获得Connection,关闭各种Connection、Statement和ResultSet的功能。我也看过、写过这样的类,本来之前以为简单的数据库工具类在多线程下会有问题,所以用ThreadLocal又改了一个,结果测试的时候返现,简单的和用ThreadLocal改的大同小异。因为简单的数据库连接类每次getConnection都会new一个新的出来,多线程下并不会冲突。
下面是这两个类的代码,受限于C#的惯性思维,这两个类依旧命名为DBHelper
1. 使用ThreadLocal的
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class BaseDBHelper { private static final String userName=YOUR_USER_NAME; private static final String passWord=YOUR_PASS_WORD; private static final String connectionURL=YOUR_CONNECT_URL; private static final String driver="com.mysql.jdbc.Driver";//这里连接的是MySQL数据库 private static final ThreadLocal<Connection> connection=new ThreadLocal<Connection>(); public BaseDBHelper(){ } public static Connection getConnection(){ Connection conn=connection.get(); if(conn==null){ try{ Class.forName(driver); conn=DriverManager.getConnection(connectionURL, userName, passWord); connection.set(conn); }catch(ClassNotFoundException e){ e.printStackTrace(); }catch(SQLException e){ e.printStackTrace(); } } return conn; } public static void CloseConnection(Connection conn){ if(conn!=null){ try { conn.close(); connection.remove(); conn=null; } catch (SQLException e) { e.printStackTrace(); } } } public static void CloseStatement(PreparedStatement pstmt){ if(pstmt!=null){ try{ pstmt.close(); }catch(SQLException e){ e.printStackTrace(); } } } public static void CloseResultSet(ResultSet rs){ if(rs!=null){ try{ rs.close(); }catch(SQLException e){ e.printStackTrace(); } } } public static void CloseAll(ResultSet rs,PreparedStatement pstmt,Connection conn){ CloseResultSet(rs); CloseStatement(pstmt); CloseConnection(conn); }}
2. 一般的
package com.GraphicModel.DBHelper;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class BaseDBHelper { private static final String userName=YOUR_USER_NAME; private static final String passWord=YOUR_PASS_WORD; private static final String connectionURL=YOUR_CONNECT_URL; private static final String driver="com.mysql.jdbc.Driver";//这里连接的是MySQL数据库 public BaseDBHelper(){ } public static Connection getConnection(){ Connection conn=null; try{ Class.forName(driver); conn=DriverManager.getConnection(connectionURL, userName, passWord); }catch(ClassNotFoundException e){ e.printStackTrace(); }catch(SQLException e){ e.printStackTrace(); } return conn; } public static void CloseConnection(Connection conn){ if(conn!=null){ try { conn.close(); conn=null; } catch (SQLException e) { e.printStackTrace(); } } } public static void CloseStatement(PreparedStatement pstmt){ if(pstmt!=null){ try{ pstmt.close(); }catch(SQLException e){ e.printStackTrace(); } } } public static void CloseResultSet(ResultSet rs){ if(rs!=null){ try{ rs.close(); }catch(SQLException e){ e.printStackTrace(); } } } public static void CloseAll(ResultSet rs,PreparedStatement pstmt,Connection conn){ CloseResultSet(rs); CloseStatement(pstmt); CloseConnection(conn); }}
0 0
- 两个JDBC连接数据库的工具类
- jdbc连接MySQL数据库的工具类
- jdbc连接数据库工具类
- JDBC连接数据库工具类
- jdbc连接数据库工具类
- 连接数据库Jdbc工具类
- JDBC连接数据库工具类
- JDBC工具类连接数据库
- JDBC工具类和JDBC连接数据库
- Java使用JDBC连接数据库完整的工具类实例
- 一个连接数据库的工具类(JDBC)
- JDBC动态SQL语句连接orcale数据库的工具类
- 使用JDBC连接MySQL数据库的工具类
- JDBC第一篇--【介绍JDBC、使用JDBC连接数据库、简单的工具类】
- JDBC连接数据库工具类以及测试
- 简单实现jdbc连接数据库工具类
- JDBC连接数据库工具类及连接Access数据库示例
- JDBC连接数据库工具类及连接Access数据库示例
- SpringMVC常见问题汇总(1)——404和乱码问题
- 看了全闪存市场的这些事实和数据,有人要蓝瘦香菇了
- python mysql取数据 对于unnicode与utf8 中文和乱码的问题
- GObject 学习笔记汇总---11
- 工作记录之Spring学习笔记(2)XML的配置
- 两个JDBC连接数据库的工具类
- jsp页面验证码demo
- 嵌入式开发“高手”进阶之路
- 多线程七
- 点击页面卡住不动,有可能导航栏 title 变化了,但页面没更新,关于左滑手势
- 设计模式(6)状态模式--行为型
- POI操作Excel常用方法总结
- hdoj1269-迷宫城堡(tarjan)
- mysql数据表对自增id重新排序