1.maven依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/commons-dbutils/commons-dbutils -->
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
</dependencies>
2.创建表
create table users(
id int auto_increment primary key COMMENT '主键ID',
userCode varchar(40) null COMMENT '用户ID',
userName varchar(40) null COMMENT '用户姓名',
email varchar(60) null COMMENT '邮箱',
createTime date COMMENT '创建时间'
);
3.创建实体类
package org.mbg.model;
import lombok.Data;
import java.util.Date;
@Data
public class Person {
private int id;
private String userCode;
private String userName;
private String email;
private Date createTime;
}
4.resources创建config.properties配置文件
jdbc.url=jdbc:mysql://localhost:3306/test2?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.user=root
jdbc.password=123456
5.JdbcUtil
package org.mbg.util;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.MapHandler;
import org.mbg.model.Person;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import java.util.Properties;
public class JdbcUtil {
private static Connection connection;
private static final QueryRunner QUERY_RUNNER = new QueryRunner();
static {
try {
Properties properties = new Properties();
InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("config.properties");
properties.load(in);
String url = properties.getProperty("jdbc.url");
String driver = properties.getProperty("jdbc.driver");
String user = properties.getProperty("jdbc.user");
String password = properties.getProperty("jdbc.password");
DbUtils.loadDriver(driver);
connection = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void insert(String sql, Object[] params) throws SQLException {
new QueryRunner().insert(connection, sql, new MapHandler(), params);
}
public static void delete(String sql, Object param) throws SQLException {
new QueryRunner().update(connection, sql, param);
}
public static void update(String sql, Object[] params) throws SQLException {
new QueryRunner().update(connection, sql, params);
}
public static <T> List<T> query(String sql, Class<T> resClass) throws SQLException {
return (List<T>)QUERY_RUNNER.query(connection, sql, new BeanListHandler(resClass));
}
public static void main(String[] args) throws SQLException {
String insertSql = "insert into users(userCode,userName,email,createTime) values(?,?,?,?)";
Object[] insertParams = {"dllwh", "独泪了无痕", "[email protected]", new Date()};
JdbcUtil.insert(insertSql, insertParams);
String deleteSql = "delete from users where id=?";
JdbcUtil.delete(deleteSql, 2);
String updateSql = "update users set userName=? where id=?";
Object[] updateParams = {"ddd", 3};
JdbcUtil.update(updateSql, updateParams);
String querySql = "SELECT id,userCode,userName,email,createTime FROM users";
List<Person> userResultList = JdbcUtil.query(querySql, Person.class);
userResultList.forEach(System.out::println);
}
}