Spring JDBC :Spring框架对JDBC简单的封装。提供了一个JDBCTemplate对象简化了JDBC的开发。
步骤:
1.导入jar包(这些jar包依赖于连接数据库连接池的jar包)
2.创建JDBCTemplate对象,依赖于数据源DataSource
JdbcTemplate template = new JdbcTemplate(ds);
3.调用JDBCTemplate方法来进行CRUD的操作
update():执行DML语句。增、删、改语句
queryForMap():查询结果将结果集封装为map集合,将列名作为key,将值作为value 将这条记录封装为一个 map集合(注意:这个方法查询的结果集长度只能是1)
queryForList():查询结果将结果集封装为list集合(注意:将每一条记录封装为一个Map集合,再将Map集 合装载到List集合中)
query():查询结果,将结果封装为JavaBean对象
query的参数:RowMapper
一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
new BeanPropertyRowMapper<类型>(类型.class)
queryForObject:查询结果,将结果封装为对象(一般用于聚合函数的查询)
首先定义成员变量,在下面的练习中可以简化步骤
设置成员变量
private org.springframework.jdbc.core.JdbcTemplate template =new org.springframework.jdbc.core.JdbcTemplate(JDBCTool.getDataSource());
1. 修改1号数据的 salary 为 10000
public void test1(){
String sql="update emp set salary=18000 where id=1001";
int count= template.update(sql);
System.out.println(count);
}
2. 添加一条记录
public void test2(){
String sql="insert into emp (id,ename,dept_id)values(?,?,?)";
int count =template.update(sql,1015,"ASD",10);//在java中字符串用双引号
System.out.println(count);
}
3. 删除刚才添加的记录
public void test3(){
String sql ="delete from emp where id=1015";
int count =template.update(sql);
System.out.println(count);
}
4. 查询id为1的记录,将其封装为Map集合
public void test4(){
String sql="select * from emp where id=1001";
Map<String,Object> map= template.queryForMap(sql);
System.out.println(map);//只能查询返回一条的记录
}
5. 查询所有记录,将其封装为List
public void test5(){
String sql="select * from emp";
List<Map<String,Object>> list=template.queryForList(sql);
for(Map<String,Object> stringObjectMap:list){
System.out.println(stringObjectMap);
}
}
6. 查询所有记录,将其封装为Emp对象的List集合
public void test6(){
String sql="select * from emp";
List<Emp> list=template.query(sql,new BeanPropertyRowMapper<Emp>(Emp.class));
for(Emp emp:list){
System.out.println(emp);
}
}
7. 查询总记录数
public void test7(){
String sql="select count(id) from emp";
Long total=template.queryForObject(sql,Long.class);
System.out.println(total);
}