版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/caoshiminYQS/article/details/86546734
Util:
接口:
package com.wsh.utils;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public interface ExecuteInter {
Statement execute(Connection connection) throws SQLException;
}
jdbcUtil:
package com.yanqiushi.utils;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
public class JdbcUtil {
private static String FILE_NAME = "src/jdbc.properties";
private static String url;
private static String database;
private static String user;
private static String password;
static{
try {
Properties properties = new Properties();
properties.load(new FileReader(FILE_NAME));
String driverName = properties.getProperty("driverName");
url = properties.getProperty("url");
database = properties.getProperty("database");
user = properties.getProperty("user");
password = properties.getProperty("password");
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
System.out.println(e.getMessage() + "\n\t\t" + "请将配置文件jdbc.properties放置到src目录下");
} catch (IOException e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
try {
Connection connection = DriverManager.getConnection(url+database,user,password);
return connection;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public static void execute(ExecuteInter executeInter){
try {
Connection connection = getConnection();
executeInter.execute(connection).close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void showRS(ResultSet resultSet){
try {
while (resultSet.next()){
System.out.print(resultSet.getString(1) + "\t");
System.out.print(resultSet.getString(2) + "\t");
System.out.print(resultSet.getString(3) + "\t");
System.out.print(resultSet.getString(4) + "\t");
System.out.println();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void close(ResultSet resultSet,Statement statement,Connection connection){
if (resultSet != null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (statement != null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(Statement statement,Connection connection){
close(null,statement,connection);
}
public static void close(Connection connection){
close(null,connection);
}
}
User:
package com.yanqiushi.test;
public class User {
private int uid;
private String uname;
private int age;
private String loc;
public User() {
}
public User(int uid, String uname, int age, String loc) {
this.uid = uid;
this.uname = uname;
this.age = age;
this.loc = loc;
}
@Override
public String toString() {
return "User{" +
"uid=" + uid +
", uname='" + uname + '\'' +
", age=" + age +
", loc='" + loc + '\'' +
'}';
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
}
TestQueryRunner:
package com.yanqiushi.test;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import java.sql.Connection;
import java.sql.SQLException;
public class WhQueryRunner extends QueryRunner {
@Override
public <T> T query(Connection conn, String sql, ResultSetHandler<T> rsh) throws SQLException {
// 开启事务
conn.setAutoCommit(false);
T t = super.query(conn,sql,rsh);
// 提交事务
conn.commit();
conn.close();
return t;
}
@Override
public <T> T query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) throws SQLException {
conn.setAutoCommit(false);
T t = super.query(conn,sql,rsh,params);
conn.commit();
conn.close();
return t;
}
}