JDBC连接数据库和释放连接
2013-08-30 19:05
225 查看
用久了hibernate现在对于JDBC是怎么实现数据库的连接和释放,所以特地总结下关于JDBC的知识,目的是用于提醒自己很多Java的基础知识需要健全。
这只是创建了一个JDBC的工具类:下面我们就如何使用进行书写:
package com.ssh.action; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * 数据库工具类 * @author Administrator * */ public class DBUtil { /** * 取得数据库连接 * @return */ public static Connection getConnection() { Connection conn = null; try { //取得jdbc配置信息 JdbcInfo jdbcInfo =null; ///ConfigReader.getInstance().getJdbcInfo(); Class.forName(jdbcInfo.getDriverName()); conn = DriverManager.getConnection(jdbcInfo.getUrl(), jdbcInfo.getUsername(), jdbcInfo.getPassword()); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 关闭 PreparedStatement(预处理执行语句) 目的:可以防止SQL注入、在特定的驱动数据库下相对效率要高(不绝对)、不需要频繁编译.因为已经预加载了 * @param pstmt */ public static void close(PreparedStatement pstmt) { if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 关闭连接 * @param conn */ public static void close(Connection conn) { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 关闭数据库结果集的数据表 * @param rs */ public static void close(ResultSet rs) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 提交事务 * @param conn */ public static void commit(Connection conn) { if (conn != null) { try { conn.commit(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 回滚事务 * @param conn */ public static void rollback(Connection conn) { if (conn != null) { try { conn.rollback(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 自动提交事务 * @param conn * @param autoCommit */ public static void setAutoCommit(Connection conn, boolean autoCommit) { if (conn != null) { try { conn.setAutoCommit(autoCommit); } catch (SQLException e) { e.printStackTrace(); } } } /** * 关闭执行语句 * @param stmt */ public static void close(Statement stmt) { if (stmt != null) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
这只是创建了一个JDBC的工具类:下面我们就如何使用进行书写:
public static void main(String[] args) throws Exception { Connection conn = null; PreparedStatement pstmt = null; try { conn = DBUtil.getConnection(); //创建连接 String sql=""; //写要操作的sql pstmt = conn.prepareStatement(sql); //预编译sql pstmt.setString(1, ""); //?参数赋值 pstmt.executeUpdate(); //执行sql }catch(Exception e) { throw e; //如果拦截该异常,必须显示抛出,这样才能抛到servlet中,也可以不用拦截 }finally { DBUtil.close(pstmt); DBUtil.close(conn); } }
相关文章推荐
- 4.JDBC ConnectionManager类,根据sys-config.xml,类JdbcConfig,类XmlConfigReader,连接数据库,释放资源等功能
- JDBC连接数据库和释放连接
- 使用JDBC连接数据库
- JDBC之数据库的连接与简单的sql语句执行
- kettle 数据库连接找不到jdbc Driver问题解决方法
- Java中单元测试(Junit4和Mockito)和数据库JDBC连接示例
- JDBC (数据库连接)
- JDBC连接各种数据库的方法(经典)
- JDBC连接数据库的两种方法
- JDBC连接数据库代码和步骤
- JDBC连接各种数据库的方法
- 完整java开发中JDBC连接数据库代码和步骤
- JDBC【介绍JDBC、使用JDBC连接数据库、简单的工具类】
- JDBC连接数据库(适当的封装查询、新增修改删除)的方法
- 完整java语言中JDBC连接数据库步骤
- ssh框架配置数据源 数据库连接没有正常释放
- 使用 JDBC 连接不同版本 DB2 数据库的兼容性问题
- JDBC加载驱动语句和建立数据库连接语句汇总
- java开发中JDBC连接数据库的代码实现与详解(转载)
- JDBC连接数据库