/**
* spring jdbc是spring框架对jdbc的简单封装,提供了一个jdbctemplate对象简化jdbc开发
* 其中有简单的方法来简化jdbc开发
* update()执行DML语句(即增删改查操作)
* queryForMap()查询结果并将查询结果封装成Map集合,
* 将列名作为键,将数据作为值,并将这条记录封装成Map集合
* 查询的结果集长度只能是1(即一条记录)
* queryForList()查询结果并将查询结果封装成List集合
* 将每一条记录封装成Map集合,最后将所有记录封装成一个List集合
* query()查询结果并将查询结果封装成JavaBean对象
* 使用 BeanPropertyRowMapper实现类,该类可以完成数据到JavaBean的自动封装
* new BeanPropertyRowMapper<好友信>(好友信.class)<对象类型(类名)>(字节码对象)
* queryForObject()查询结果并将查询结果封装成对象,该对象一般是基本数据类型(一般是用来对使用聚合函数的sql语句)
* String sql="select count(*) from s ";
* Long aLong = jdbcTemplate.queryForObject(sql, long.class);
*
*/
下面是通过Junit单元测试对代码进行测试,这些代码是对数据库进行简单的增删改和查询操作
package hj.jdbc.springjdbctemplate;
import hj.jdbc.druidutils;
import org.junit.Test;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.sql.PreparedStatement;
import java.util.List;
import java.util.Map;
public class day1 {
private static JdbcTemplate jdbcTemplate = new JdbcTemplate(druidutils.getDataSource());
public static void main(String[] args) {
//创建template对象,传参为datasource对象(即数据库连接池对象)
String sql="delete from s where name=?";
jdbcTemplate.update(sql,"反射");//按顺序来问号赋值
}
@Test
public void s(){
String sql="insert into s(name,sex,grou) values(?,?,?)";
jdbcTemplate.update(sql,"傻逼","男","脑掺");
}
@Test
public void s1(){
String sql="select * from s where name=?";
Map<String, Object> 傻逼 = jdbcTemplate.queryForMap(sql, "傻逼");//queryForMap()方法所查询返回的只能是一条记录(即一行)
System.out.println(傻逼);
}
@Test
public void s2(){
String sql="select * from s";
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
System.out.println(maps);
}
@Test
public void s3() {
String sql="select * from s";
List<好友信> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<好友信>(好友信.class));//将表中数据封装成好友信对象
//new BeanPropertyRowMapper<好友信>(好友信.class)<传你想要封装的对象类型(类名)>(字节码对象)
System.out.println(query);
}
@Test
public void s4(){
String sql="select count(*) from s ";
Long aLong = jdbcTemplate.queryForObject(sql, long.class);
System.out.println(aLong);
}
}