JdbcTemplate是Spring框架提供的用于简化JDBC开发的一个类
JdbcTemplate使用步骤
1、导入对应spring-jdbc jar包到工程
jar包下载地址 https://jar-download.com/artifacts/org.springframework/spring-jdbc
2、创建JdbcTemplate对象,需要给JdbcTemplate传入DataSource参数,即数据库连接池对象。
JdbcTemplate template = new JdbcTemplate(dataSource)
(连接池对象获取方法可参考 JdbcTemplate基于XML的连接池获取)
3、使用JdbcTemplate的方法操作数据库
// sql是要执行的sql语句字符串,argxxx是sql语句中的占位符的值
update(sql, arg1, arg2)
// 查询结果封装到JavaBean对象,查询结果为集合
query()
// 查询结果为单个对象,可用于聚合函数查询
queryForObject()
//示例中用到一个自己封装的类Student是个对应数据库的数据表的实体类
//该类中定义了三个私有变量,对应数据表中的三个属性id,name,age.同时生成这三个变量的get,set,toString方法。
//需要注意的是,定义的变量名要和数据表属性名保持一致。
//以下是示例代码
JdbcTemplate template = new JdbcTemplate(JdbcUtils.getDataSource());
String sqlUpdate = "update student set age = ? where id = 7";
template.update(sqlUpdate, 18);
String sqlQuery = "select * from student";
// 如若查询内容是实体类,需要使用new BeanPropertyRowMapper<XXX>进行封装
List<Student> list = template.query(sqlQuery, new BeanPropertyRowMapper<Student>(Student.class));
for (Student student : list) {
System.out.println(student);
}
//String sqlQuery = "select * from student where name=?";
//Student student= template.queryForObject(sqlQuery, new BeanPropertyRowMapper<Student>(Student.class), "zhangsan");
String sqlQueryObj = "select count(name) from student";
// 第二个参数是返回值类的字节码
Integer count = template.queryForObject(sqlQueryObj, Integer.class);
System.out.println(count);
输出结果如下