JdbcUtil
package jdbcConnection; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.Properties; /** * jdbc工具类 * * @author happyqing * */ public class JdbcUtil { private static Properties env = new Properties(); static { try { //JdbcUtil.class.getResourceAsStream("/env.properties"); // /com/cici/conf/env.properties InputStream is = JdbcUtil.class.getClassLoader().getResourceAsStream("env.properties"); env.load(is); is.close(); } catch (Exception e) { e.printStackTrace(); } } private static final ThreadLocal<Connection> tl = new ThreadLocal<Connection>(); public static Connection getConnection() { Connection conn = tl.get(); try { if (conn == null) { Class.forName(env.getProperty("jdbc.driverClassName")); conn = DriverManager.getConnection(env.getProperty("jdbc.url"), env.getProperty("jdbc.username"), env.getProperty("jdbc.password")); tl.set(conn); } // 设置不自动提交 conn.setAutoCommit(false); } catch (Exception e) { e.printStackTrace(); } return conn; } /** * 创建PreparedStatement * * @param conn * @param sql * @return */ public static PreparedStatement getPreparedStatement(Connection conn, String sql) { PreparedStatement psmt = null; if (conn != null) { try { psmt = conn.prepareStatement(sql); } catch (Exception e) { e.printStackTrace(); } } return psmt; } /** * 释放资源 */ public static void close(ResultSet rs, Statement stm, Connection conn) { if (rs != null) try { rs.close(); } catch (Exception e) { e.printStackTrace(); } if (stm != null) try { stm.close(); } catch (Exception e) { e.printStackTrace(); } if (conn != null) try { conn.close(); } catch (Exception e) { e.printStackTrace(); } } // 测试 public static void main(String[] args) { Connection conn = JdbcUtil.getConnection(); System.out.println(conn); } }
env.properties
jdbc.driverClassName= oracle.jdbc.driver.OracleDriver jdbc.url= jdbc:oracle:thin:@192.168.1.186:1521:orcl jdbc.username=xxx jdbc.password=xxx
crud
package jdbcConnection; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Date; import utils.JdbcUtil; public class CrudTest { private static void add() throws SQLException { // TODO Auto-generated method stub Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = JdbcUtil.getConnection(); String sql = "insert into [user](name,password,email,age,birthday,money) values(?,?,?,?,?,?)"; ps = conn.prepareStatement(sql); ps.setString(1, "psName"); ps.setString(2, "psPassword"); ps.setString(3, "jkjs@126.com"); ps.setInt(4, 23); ps.setDate(5, new java.sql.Date(new java.util.Date().getDate())); ps.setFloat(6, 2344); ps.executeUpdate(); } finally { JdbcUtil.close(rs, ps, conn); } } private static void get() throws SQLException { // TODO Auto-generated method stub Connection conn=null; PreparedStatement ps =null; ResultSet rs = null; try { conn= JdbcUtil.getConnection(); String sql = "select id,name,password,email,birthday,money from [user]"; ps = conn.prepareStatement(sql); rs= ps.executeQuery(); while(rs.next()){ int id= rs.getInt("id"); String name =rs.getString("name"); String pass=rs.getString("password"); String email = rs.getString("email"); Date birthday =rs.getDate("birthday"); float money= rs.getFloat("money"); System.out.println("id是:"+id+"姓名是: "+name+" 密码是:"+pass+"邮箱是:" +email+"生日是: "+birthday+"工资是"+money); } } finally{ JdbcUtil.close(rs, ps, conn); } } private static void update() throws SQLException { // TODO Auto-generated method stub Connection conn=null; PreparedStatement ps =null; ResultSet rs = null; try { conn= JdbcUtil.getConnection(); String sql = "update [user] set name='lucy',password='123',money=5000 where id=1"; ps= conn.prepareStatement(sql); ps.executeUpdate(); } finally{ JdbcUtil.close(rs, ps, conn); } } private static void delete() throws SQLException { // TODO Auto-generated method stub Connection conn=null; PreparedStatement ps =null; ResultSet rs = null; try { conn= JdbcUtil.getConnection(); String sql = "delete from [user] where id=1"; ps= conn.prepareStatement(sql); ps.executeUpdate(); } finally{ JdbcUtil.close(rs, ps, conn); } } }
Jdbc事务管理
模拟银行取帐
TransferTest.java
package test; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import util.JdbcUtil; public class TransactionTest { public static void main(String[] args)throws SQLException { transferTest(); } public static void transferTest()throws SQLException{ int id1 =3; float m1= 100.0f; int id2 = 4; transfer2(id1,m1,id2); } public static boolean transfer2(int id1,float m1,int id2)throws SQLException{ boolean flag = false; Connection conn =null; PreparedStatement ps = null; ResultSet rs = null; try { conn = JdbcUtil.getConnection(); conn.setAutoCommit(false); String sql = "update [user] set money = money=? where id = ?"; ps= conn.prepareStatement(sql); ps.setFloat(1, m1); ps.setInt(2, id1); ps.executeUpdate(); String sql1 = "update [user] set money = money+? where id = ?"; ps= conn.prepareStatement(sql); ps.setFloat(1, m1); ps.setInt(2, id2); ps.executeUpdate(); conn.commit(); } catch (SQLException e) { // TODO 自动生成 catch 块 conn.rollback(); throw e; }finally{ JdbcUtil.close(rs, ps, conn); } return flag; } }
java读取properties文件
http://happyqing.iteye.com/admin/blogs/1966014
JDBC连接各种数据库方法
http://happyqing.iteye.com/admin/blogs/1966028
使用JDBC进行批处理
http://happyqing.iteye.com/admin/blogs/1965951
相关推荐
`JdbcUtil`通常是一个工具类,用于封装JDBC的常用操作,以简化数据库访问流程,提高代码的可复用性和可维护性。 `JdbcUtil`类的基本结构通常包括以下几个部分: 1. **数据库连接的建立和关闭**:使用`...
Hibernate是一个强大的对象关系映射(ORM)框架,它为开发者提供了一种在Java应用中操作数据库的简便方式,消除了大量手动编写SQL语句的需求。 通过JDBCUtils这个文件名,我们可以推测这个类可能包含了一些常用的...
JdbcUtil是一个常见的工具类,它封装了JDBC的基本操作,以简化数据库的访问,减少代码量,并提高代码的可维护性。下面将详细阐述JdbcUtil中的主要知识点及其重要性。 1. **连接管理**:JdbcUtil通常包含建立和关闭...
`JDBCUtil`通常是指一个实用工具类,它封装了与数据库交互的常见操作,如建立连接、执行SQL语句、处理结果集等。这个`JDBCUtil.rar_jdbcUtil`压缩包可能包含了实现这些功能的代码示例。接下来,我们将深入探讨JDBC...
JdbcUtil是一个常见的实用类,用于封装数据库连接、查询、更新等基本操作,以提高代码的可读性和可维护性,避免资源泄露。在给定的"JdbcUtil.rar_jdbcUtil_jdbcut"压缩包中,包含的文件"JdbcUtil"可能是这个工具类的...
`JdbcUtil` 类是常见的Java开发中用于简化数据库操作的工具类,它封装了数据库连接的创建、关闭等繁琐过程,使代码更加简洁且易于管理。在本篇文章中,我们将深入探讨`JdbcUtil`类的原理及其在实际应用中的作用。 ...
JdbcUtil.java文件很可能是另一个辅助类,专注于JDBC(Java Database Connectivity)操作。JDBC是Java标准API,提供了与各种数据库交互的能力。这个类可能会包含用于建立JDBC连接、预编译SQL语句、执行查询和事务...
`JdbcUtil.java` 是一个Java类,用于简化使用JDBC(Java Database Connectivity)操作数据库的过程。这个类主要包含了四个静态方法:`getConnection()`, `close()`, `toInt()` 和 `printRs()`。 1. **静态初始化块*...
总的来说,自编DAO操作数据库涉及到Oracle数据库的理解、JDBC API的使用、DAO模式的设计以及最佳实践,如使用PreparedStatement和连接池管理。通过这种方式,我们可以有效地组织代码,使数据库操作更加安全、高效。...
`JdbcUtil_2.rar_jdbcut` 指的可能是一个包含简化了JDBC操作的实用工具类,它的目的是为了简化数据库连接和操作的过程,使得开发者可以更快速、便捷地完成数据库交互任务。 在描述中提到的“用jdbc连接数据库的小...
达梦数据库JDBC(Java Database Connectivity)是连接Java应用程序与达梦数据库系统的重要桥梁,它允许Java开发者在Java程序中执行SQL语句,实现对达梦数据库的数据操作。达梦数据库是中国自主研发的一款高性能、高...
在Java中,JDBC(Java Database Connectivity)是与数据库交互的标准API,它提供了连接、查询、更新等操作数据库的能力。在JDBC中,我们通常会创建`Connection`对象来建立与数据库的连接,然后创建`Statement`或`...
在Java编程领域,JDBC(Java Database Connectivity)是Java应用程序连接和操作数据库的标准接口。`JdbcUtil`类是开发者为了简化JDBC操作而自定义的一个工具类,它封装了JDBC的一些常用功能,以便更方便、高效地进行...
`JdbcUtil.rar_oracle_元数据`这个压缩包文件包含了一个名为`JdbcUtil.java`的源代码文件,该文件很可能是用来实现从Oracle数据库获取元数据的功能。 元数据在数据库中指的是关于数据的数据,例如表的结构(列名、...
在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的一套标准API。MySQL是一款广泛使用的开源关系型数据库管理系统。本教程将详细讲解如何利用JDBC工具类来建立MySQL数据库的连接,并...
本资源涉及到的主要知识点包括`BaseDAO`设计模式、`JDBCUtil`工具类以及数据库连接池技术,如`C3P0`、`DBCP`和`Druid`。以下将对这些内容进行详细阐述。 首先,`BaseDAO`是一个设计模式,用于封装数据库的基本操作...
本文将深入探讨一个基于J2EE技术的商城后台管理系统,它利用了jsp、servlet以及JDBCUtil工具类,为数据库操作提供便利。 首先,J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司提供的一个用于开发和部署...
一个已经封装了连接池(可以自定义连接池大小)的jdbc工具类,代码简单清晰,适合java初学者,以便更好更快的熟悉数据库操作。