web项目技术必备常用-------JDBCTemplate介绍以及快速入门

1.JDBCTemplate介绍

  • Spring框架对JDBC的一个简单的封装。提供了一个JDBCTemplate对象简化JDBC的开发
  • 步骤:
    • 1.导入jar包
    • 2.创建JDBCTemplate对象,依赖于数据源DataSource
      • JdbcTemplate template = new JdbcTemplate(ds);
      • 调用方法来完成crud操作即可
        • update():执行增删改语句,执行DML语句
        • queryForMap():查询结果将结果封装为map集合
          • 注意:这个方法查询的结果集长度只能为1
        • queryForList():查询结果将结果封装为list集合
          • 注意:将每一条记录封装为一个map集合,再将map集合装载到list集合中
        • query():将结果封装为一个javaBean对象
          • query的参数:RowMapper
            • 一般使用它的实现类BeanPropertyRowMapper,可以完成数据的自动封装
            • 语法:new BeanPropertyRowMapper<类型>(类型.class)
        • queryForObject():将结果封装为对象
          • 一般用于聚合函数的查询

2.JDBCTemplate的快速入门

  • 示例:
public class JdbcTemplateDemo{
	public static void main(String[] args){
		//1.导入jar包
		//2.创建JdbcTemplate对象
		JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
		//3.调用方法
		String sql = "update account set balance = 5000 where id = ?";
		template.update(sql, 3);//修改id 为3 的记录的balance为5000
	}
}

3.一些小练习

  • 需求:

    • 1.修改1号数据的salary为10000
    • 2.添加一条记录
    • 3.删除添加的记录
    • 4.查询id为1的记录,将其封装为map集合
    • 5.查询所有的记录,将其封装为list集合
    • 6.查询所有的记录,将其封装为emp对象的list集合
    • 7.查询总的记录数
  • 在这里省略掉emp的实体类

public class JdbcTemplateDemo{
	private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
	//每个test对应一个需求
	@Test
	public void test1(){
		String sql = "update emp set salary = 10000 where id = ?";
		int count = template.update(sql, 1);//1
	}
	@Test
	public void test2(){
		String sql = "insert into emp(id, name, salary) values(?,?,?)";
		int count = template.update(sql, 15, "张三", 15000);//1
	}
	@Test
	public void test3(){
		String sql = "delete from emp where id = ?";
		int count = template.update(sql, 15);//1
	}
	@Test
	public void test4(){
		String sql = "select * from emp where id = ?";
		Map<String, Object> map = template.queryForMap(sql, 1);
	}
	@Test
	public void test5(){
		String sql = "select * from emp";
		List<Map<String, Object>> list = template.queryForList(sql);
	}
	@Test
	public void test6(){
		String sql = "select * from emp";
		List<Emp> list = template.query(sql, new BeanPropertyRowMapper<Emp>());
	}
	@Test
	public void test7(){
		String sql = "select count(id) from emp";
		long total= template.queryObject(sql, Long.class);	
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值