// 插入数据
@Test
public void testInset() throws Exception {
Connection conn = null;
try {
// 1. 实例化 QueryRunner 对象
QueryRunner queryRunner = new QueryRunner();
// 2. 自己获取连接
conn = JDBCUtils.getConnectionByDruid();
// 3. 提供 SQL 语句
String sql = "insert into stu(id, name, age)values(?, ?, ?)";
// 4. 返回影响了多少行
int i = queryRunner.update(conn, sql, 2, "Jack", "25");
System.out.println("添加了" + i + "条数据");
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null, null);
}
}
// 查询一条数据[BeanHandler] --- 以对象形式封装
@Test
public void testQuery_1() {
Connection conn = null;
try {
// 1. 实例化 QueryRunner 对象
QueryRunner runner = new QueryRunner();
// 2. 自己获取连接
conn = JDBCUtils.getConnectionByDruid();
// 3. 提供 SQL 语句
String sql = "select id, name, age from stu where id = ?";
/**
rsh:是结果集的处理器,是为了 应对不同的查询情况而产生的
表示查询的结果是哪个
如:BeanHandler表示返回一个对象
BeanHandler是ResultSetHandler接口的一个实现类,用于封装表中的一条记录
*/
// 4. 获取 BeanHandler 对象
BeanHandler<Stu> handler = new BeanHandler<>(Stu.class);
// 5. 查询结果
Stu stu = runner.query(conn, sql, handler, 1);
System.out.println(stu);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null, null);
}
}
// 查询多条数据[BeanListHandler] --- 以对象集合形式封装
@Test
public void testQuery_2() {
Connection conn = null;
try {
// 1. 实例化 QueryRunner 对象
QueryRunner runner = new QueryRunner();
// 2. 连接
conn = JDBCUtils.getConnectionByDruid();
// 3. SQL
String sql = "select id, name, age from stu";
// 4. 获取 BeanListHandler 对象
BeanListHandler<Stu> handler = new BeanListHandler<>(Stu.class);
// 5. 打印结果
List<Stu> list = runner.query(conn, sql, handler);
list.forEach(System.out::println);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null, null);
}
}
// 查询一条数据[MapHandler] --- 以map封装
@Test
public void testQuery_3() {
Connection conn = null;
try {
// 1. 实例化 QueryRunner 对象
QueryRunner runner = new QueryRunner();
// 2. 连接
conn = JDBCUtils.getConnectionByDruid();
// 3. SQL
String sql = "select id, name, age from stu where id = ?";
// 4. 获取 MapHandler 对象
MapHandler handler = new MapHandler();
// 5. 打印结果
Map<String, Object> map = runner.query(conn, sql, handler, 1);
System.out.println(map);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null, null);
}
}
// 查询多条数据[MapHandler] --- 以map集合形式封装
@Test
public void testQuery_4() {
Connection conn = null;
try {
// 1. 实例化 QueryRunner 对象
QueryRunner runner = new QueryRunner();
// 2. 连接
conn = JDBCUtils.getConnectionByDruid();
// 3. SQL
String sql = "select id, name, age from stu";
// 4. MapListHandler
MapListHandler handler = new MapListHandler();
// 5. 结果
List<Map<String, Object>> list = runner.query(conn, sql, handler);
list.forEach(System.out::println);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null, null);
}
}
// 查询特殊值 --- 查询有多少条数据
@Test
public void testQuery_5() {
Connection conn = null;
try {
QueryRunner runner = new QueryRunner();
conn = JDBCUtils.getConnectionByDruid();
String sql = "select count(*) from customers";
ScalarHandler handler = new ScalarHandler();
Long cnt = (Long) runner.query(conn, sql, handler);
System.out.println(cnt);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null, null);
}
}
// 查询特殊值 --- 查询最大生日是什么
@Test
public void testQuery_6() {
Connection conn = null;
try {
QueryRunner runner = new QueryRunner();
conn = JDBCUtils.getConnectionByDruid();
String sql = "select max(age) from customers";
ScalarHandler handler = new ScalarHandler();
int age = (int) runner.query(conn, sql, handler);
System.out.println(age);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null, null);
}
}
Apache-JDBCUtils
最新推荐文章于 2023-06-14 10:54:59 发布