Spring JDBC里的JDBCTemplate
即便已经使用工具类了,但是仍然麻烦,所以学习JDBC简化封装的工具类。Spring框架提供的JDBC简单封装,以后web学习完之后会重点讲,今天大概看看。他提供的JDBCTemplate对象简化JDBC的开发
步骤:
1、导入jar包。
2、创建JDBCTemplate对象。依赖于数据源DataSource
*JdbcTemplate template=new JdbcTemple(ds);
3、调用对象方法来完成CRUD的操作
update():执行增删改
queryForMap();查询结果集,并将其封装为Map集合
注意这个方法,查询的结果集的长度只能是1,将列名作为key,将值作为value。
queryForList();
注意:将每一条记录封装为一个Map结合,再将Map集合装载到List集合中。两者皆为集合,是一个集合中存放的是另一个集合。
query():查询结果,封装为JavaBean对象
queryForObject:查询结果,将结果封装为对象这个才是最长用的
query()方法的参数:RowMapper
一般使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装,什么是JavaBean后面还得详解。
new BeanPropertyRowMapper<类型>(类型.class)
queryForObject(sql, Long.class)则是用于聚合函数的查询,聚合函数是数据库的函数。
如下简单示例:
package cn.itcast.datasource.jdbctemplate;
import cn.itcast.utils.JDBCUtils;
import org.springframework.jdbc.core.JdbcTemplate;
/*
* jdbctemplate的入门
*
* 导入包后别忘了加入工作空间
*
* */
public class jdbcTemplteDemo01 {
public static void main(String[] args) {
//1 导入jar包
//2 创建JDBCTemplate对象 为什么依然要用到这个JDBCUtils呢!我认为啊,这个是简化了获取连接池对象,而JdbcTemplate是简化了这个之前的主程序的获取连接,执行语句等
JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource());//传入参数
//3 调用方法
String sql="update account set money = 2000 where id=?";
int count = template.update(sql, 2);//3就是对应第一个问号,不需要申请连接了,不需要释放资源了
System.out.println(count);
}
}
下面就是这几个方法的学习
1、修改1号zhangsan 的钱为10000
2、添加一条记录
3、删除添加的记录
4、查询id为1记录,将其封装为Map集合
5、查询所有记录,封装为list集合
6、查询所有记录,将其封装为Emp对象的List集合
7、查询总记录数
其中数据库表封装类自己定义,最终程序:
package cn.itcast.datasource.jdbctemplate;
import cn.itcast.domain.Account;
import cn.itcast.utils.