JDBCTemplate
Spring框架对JDBC的简单封装。提供了一个JdbcTemplate对象简化JDBC的开发
-
步骤:
- 1.导入jar包(前提是有Datasource类也就是导入Druid的jar包)
-
2.创建JdbcTemplate对象。依赖于数据源Datasource(传参需要)
JdbcTemplate template = new JdbcTemplate(Datasource ds);
-
3.调用JdbcTemplate的方法来完成CRUD的操作
- update():执行DML语句。增、删、改语句
- queryForMap():查询结果将结果集封装为map集合
- queryForList():查询结果将结果集封装为list集合
- query():查询结果,将结果封装为JavaBean对象
- queryForobject():查询结果,将结果封装为对象
入门示例
package com.ningxiao.day18;
import org.springframework.jdbc.core.JdbcTemplate;
import java.sql.SQLException;
/*
author :wt
@create 2020-08-28 10:11
*/
public class Demo02 {
public static void main(String[] args) throws SQLException {
JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDatasource());
String sql = "update account set balance = 5000 where id = 1";
int update = jdbcTemplate.update(sql);
System.out.println(update);
}
}
queryForMap():示例
package com.ningxiao.day18;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.Map;
/*
author :wt
@create 2020-08-28 10:27
*/
public class Demo03 {
public static void main(String[] args) {
JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDatasource());
String sql = "select * from emp where ename = '罗贯中'";
Map<String, Object> map = jdbcTemplate.queryForMap(sql);
System.out.println(map);//返回值是map集合,键是字段名,值是对应的数据
//{id=1009, ename=罗贯中, job_id=1, mgr=null, joindate=2001-11-17, salary=50000.00, bonus=null, dept_id=10}
}
}
queryForList():示例
返回值是List集合装载 的map集合,键值对是 字段名:数据
package com.ningxiao.day18;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.List;
import java.util.Map;
/*
author :wt
@create 2020-08-28 10:35
*/
public class Demo04 {
public static void main(String[] args) {
JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDatasource());
String sql = "select * from emp";
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
for(Map<String, Object> map:maps){
System.out.println(map);
}
}
}
query():示例
package com.ningxiao.day18;
import com.ningxiao.day17.Emp;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.List;
/*
author :wt
@create 2020-08-28 10:39
*/
public class Demo05 {
public static void main(String[] args) {
JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql = "select * from emp";
List<Emp> query = template.query(sql, new BeanPropertyRowMapper<Emp>(Emp.class));
for (Emp e:query){
System.out.println(e);
}
}
}
queryForobject():
package com.ningxiao.day18;
import com.ningxiao.day17.Emp;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
/*
author :wt
@create 2020-08-28 11:13
*/
public class Demo06 {
public static void main(String[] args) {
JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql = "select * from emp where id = 1001";
Emp emp = template.queryForObject(sql, new BeanPropertyRowMapper<Emp>(Emp.class));
System.out.println(emp);
}
}