准备好一个配置文件,和一张数据表:
package com.zhou.jdbc;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Properties;
/**
* 版本1:后面这些方法还可以升级,比方说我们不能每次操作都获取一个数据库连接,比方说后面会学数据库连接池;
*
* 操作JDBC的工具类:其中封装了一些工具方法:
*
* 1.获取连接的方法;
*
* @author Administrator
*
*/
public class JdbcTools {
/**
* 1.获取连接的方法:这个方法在前面已经写过了,只是这个是工具方法,需要加上static: ---通过读取配置文件从数据库服务器获取一个连接;
*
* 用DriverManager来把之前那个通用的方法写一遍:
*
* @throws Exception
*/
public static Connection getConnection() throws Exception {
// 1.准备连接数据库的四个字符串:
// 1).创建Properties对象:
Properties properties = new Properties();
// 2).获取jdbc.properties对应的输入流:
InputStream in = JdbcTools.class.getClassLoader().getResourceAsStream("jdbc.properties");
// 3).加载2) 对应的输入流:
properties.load(in);
// 4).具体决定user、password、jdbcUrl、driverClass四个字符串:
String user = properties.getProperty("user");
String password = properties.getProperty("password");
String jdbcUrl = properties.getProperty("jdbcUrl");
String driverClass = properties.getProperty("dirver");
// 2.加载数据库驱动程序(实际上这一步应该叫:注册驱动,对应的Driver实现类中有注册驱动的静态代码块):
Class.forName(driverClass);
// 3.获取数据库的连接:
// Connection connection = DriverManager.getConnection(jdbcUrl, user,
// password);
// return connection;
return DriverManager.getConnection(jdbcUrl, user, password);
}
/**
* 2.关闭数据库资源的方法: 它关闭一个Statement,再关闭一个Connection:
*/
public static void release(Statement statement, Connection connection) {
if (statement != null) {
try {
statement.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
/**
* 写一个通用的更新的方法:包含添加、删除、和修改: 即包括INSERT、UPDATE、DELETE:
* 这个方法要执行上面的那些语句,写这样一个方法需要借助什么参数啊?肯定需要借助一个sql吧
*
* 这里写第一个版本的通用的更新的方法:版本1
*/
public void update(String sql) {
Connection connection = null;
Statement statement = null;
try {
connection = JdbcTools.getConnection();
statement = connection.createStatement();
statement.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {// 关闭连接:这里不再写那个嵌套的try……catch……finally了
JdbcTools.release(statement, connection);
}
}
/**
* 测试下上面的那个通用的update方法:
*
* @throws Exception
*/
@Test
public void testUpdate() throws Exception {
Connection connection = null;
Statement statement = null;
String sql = null;
try{
connection = JdbcTools.getConnection();
statement = connection.createStatement();
// 准备一个更改的sql语句:
sql = "UPDATE customers SET NAME=‘情剑莫邪_1‘ WHERE ID=3";
//准备一条更改id的:
//sql = "UPDATE customers SET ID=2 WHERE ID=3";
//sql = "UPDATE customers SET ID=3 WHERE ID=4";
//sql = "UPDATE customers SET ID=4 WHERE ID=5";
// 调用那个通用的update方法:
update(sql);
// 释放数据库连接,调用所写的那个工具了JdbcTools里面的释放连接的方法:
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcTools.release(statement, connection);
}
}
本文出自 “IT技术JAVA” 博客,转载请与作者联系!
传智播客---JDBC之通用的更新的方法:包含添加、删除、和修改,古老的榕树,5-wow.com