1 , 工具类封装
package com.testJDBC;
import java.io.Closeable;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import java.sql.Statement;
import com.mysql.jdbc.Connection;
public class JDBCUtil {
// 初始化设置properties对象
static Properties pros = null;
// 加载类的同时执行初始化快的内容
{
pros = new Properties();
try {
//加载配置文件的属性
pros.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 获取Connection
public static Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
return (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/testjdbc?useUnicode=true&characterEncoding=utf-8&useSSL=false",
"root",
"wangrong654688");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
// 关闭
public static void close(ResultSet rs,PreparedStatement ps,Connection conn) {
try {
if(rs!=null) {
rs.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(ps!=null) {
ps.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(conn!=null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(PreparedStatement ps,Connection conn) {
try {
if(ps!=null) {
ps.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(conn!=null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(Statement sm,Connection conn) {
try {
if(sm!=null) {
sm.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(conn!=null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2, .properties 配置的封装
driver=com.mysql.jdbc.Driver
JDBCUrl=jdbc:mysql://localhost:3306/testjdbc?useUnicode=true&characterEncoding=utf-8&useSSL=false
user=root
psw=wangrong654688
3, 正常替换运行
package com.testJDBC;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Driver;
public class Test1 {
public static void main(String[] args) {
Connection conn = null;
Statement sm = null; // 此处的Statement 是接口 不是实现类;
try {
conn = JDBCUtil.getConnection();
conn.setAutoCommit(false);
sm = conn.createStatement();
for(int i=0;i<100;i++) { // 批量操作
sm.addBatch("insert into t_user(username,pwd,resTime) value('leon"+i+"',123456,now())");
}
sm.executeBatch();
conn.commit(); // 最后一次提交
System.out.println("成功");
} catch (SQLException e) {
e.printStackTrace();
// TODO: handle exception
}finally { // 关闭原则 先进后关
JDBCUtil.close(sm, conn);
}
}
}