菜鸟出道,斗胆写博,如有错误,欢迎指正。
概述
DBUtils封装了数据库的操作,简化了数据库操作的代码量。
准备
将DBUtils和JDBC的jar包导入到工程即可使用
DBUtils jar包下载链接
JDBC jar包下载链接
QueryRunner类
- 常用的构造器
public QueryRunner()
public QueryRunner(DataSource ds)
- 常用的方法
// 查询使用的方法
query(String sql, ResultSetHandler<T> rsh, Object params)
query(Connection conn, String sql, ResultSetHandler<T> rsh, Object params)
// 插入,更改,删除都使用这个方法
update(String sql, Object param)
update(Connection conn, String sql, Object param)
代码实现
public class Test {
public static void main(String[] args) throws SQLException {
//获得数据库连接
Connection conn = DBUtils.getCon();
insert(conn);
query(conn);
//关闭连接
conn.close();
}
// 插入操作
public static void insert(Connection conn) {
QueryRunner qr = new QueryRunner();
String sql = "insert into student(id,name,sex,height) values(?,?,?,?)";
Object[] params = {1,"小四","男",1.54}; // 设置插入的参数
int line;
try {
line = qr.update(conn, sql, params);
System.out.println("line:"+line);
} catch (SQLException e) {
System.out.println("插入失败");
}
}
// 选择操作
public static void query(Connection conn) {
QueryRunner qr = new QueryRunner();
String sql = "select * from person";
Object[] params = {};
try {
List<Object[]> objArray = qr.query(conn, sql, new ArrayListHandler(), params);
for (Object[] objects : objArray) {
System.out.println(Arrays.toString(objects));
}
} catch (SQLException e) {
System.out.println("查询失败");
}
}
}
一般情况下,操作数据库都会加载配置文件,文件里面存放的是连接数据库的驱动名称,路径,用户名,密码等信息。
- 配置文件
文件路径:D:\infor.txt
文件内容:
public class JDBCUtils {
private static String DRIVER;
private static String URL;
private static String USER;
private static String PASSWORD;
static {
try {
Properties prop = new Properties();
InputStream in = new FileInputStream("D:\\infor.txt");
prop.load(in);
DRIVER = prop.getProperty("driver");
URL = prop.getProperty("url");
USER = prop.getProperty("user");
PASSWORD = prop.getProperty("password");
in.close();
} catch (Exception e) {
System.out.println("获取配置文件失败");
}
}
public static Connection getCon() {
try {
// 驱动的注册
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection con = null;
try {
con = (Connection) DriverManager.getConnection(URL, USER, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
}