1.JdbcTemplate的使用
(1) 用 sql 语句和参数更新数据库
public void Insert(){
String sql = "INSERT INTO students(name,age) VALUES(?,?)";
jdbcTemplate.update(sql,"zs",20);
}
(2) 批量更新数据库
public void InsertBatch(){
String sql = "INSERT INTO students(name,age) VALUES(?,?)";
List<Object[]> students = new ArrayList<>();
students.add(new Object[]{"ls",21});
students.add(new Object[]{"ww",22});
jdbcTemplate.batchUpdate(sql,students);
}
(3) 查询单行
public void Select(){
String sql = "SELECT * FROM students WHERE id=?";
RowMapper<Student> rowMapper = new BeanPropertyRowMapper<>(Student.class);
Student student = jdbcTemplate.queryForObject(sql,rowMapper,1);
System.out.println(student);
}
(4) 查询多行
public void Selects(){
String sql = "SELECT * FROM students WHERE id>?";
RowMapper<Student> rowMapper = new BeanPropertyRowMapper<>(Student.class);
List<Student> students = jdbcTemplate.query(sql,rowMapper,1);
System.out.println(students);
}
(5) 单值查询
public void Count(){
String sql = "SELECT count(id) FROM students";
Long count = jdbcTemplate.queryForObject(sql,Long.class);
System.out.println(count);
}
2.NamedParameterJdbcTemplate
配置 NamedParameterJdbcTemplate, 该对象可以使用具名参数, 其没有无参数的构造器, 所以必须为其构造器指定参数
<bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dataSource"/>
</bean>
测试
public void NamedParameterJdbcTemplateTest1(){
String sql = "INSERT INTO students(name,age) VALUES(:n,:a)";
Map<String,Object> map = new HashMap<>();
map.put("n","litao");
map.put("a",20);
namedParameterJdbcTemplate.update(sql,map);
}