Spring5学习笔记(12) — “JdbcTemplate 操作数据库(查询 select)”
Posted 一切因为是码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring5学习笔记(12) — “JdbcTemplate 操作数据库(查询 select)”相关的知识,希望对你有一定的参考价值。
JdbcTemplate 操作数据库(查询 select)
JdbcTemplate的查询操作分为三种情况:
1、查询返回某个值
(例如:查询表中共有多少条数据)
由JdbcTemplate 的 queryForObject 方法(两个参数
)实现
参数一:SQL语句
参数二:需要返回的类型(例如返回int类型,则参数填Integer.class)
2、查询返回一个表的实体类“对象”
(例如:查询返回一行数据)
由JdbcTemplate 的 queryForObject 方法(三个参数
)实现
参数一:SQL语句
参数二:RowMapper,是接口,返回不同类型数据,使用这个接口里面实现类完成数据封装
(该接口实现类为 BeanPropertyRowMapper< T >(T.class) )
第三个参数:sql语句中传入的值
3、查询返回一个数据集合
(例如:查询返回全表)
由JdbcTemplate 的 query 方法(两个参数
)实现
参数一:SQL语句
参数二:RowMapper,是接口,返回不同类型数据,使用这个接口里面实现类完成数据封装
(该接口实现类为 BeanPropertyRowMapper< T >(T.class) )
一、查询返回某个值
//1.编写bookDao接口
public interface bookDao {
//1.查询返回某个值(查询表中共有多少条数据)
int selectCount();
}
//2.编写接口实现类bookDaoImple
@Repository
public class bookDaoImple implements bookDao{
//注入JdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
//查询返回某个值
@Override
public int selectCount() {
String sql = "select count(*) from book";
int count = jdbcTemplate.queryForObject(sql, Integer.class);
return count;
}
}
//3.编写service类
@Service
public class bookService {
//1.注入dao
@Autowired
private bookDao bookdao;
//2.查询返回一行数据
public book findBookinfo(String bookid){
return bookdao.selectBookinfo(bookid);
}
}
//4.编写测试类
int count = bookservice.findCount();
System.out.println("表中共有:"+count+"条语句");
二、查询返回一个表的实体类“对象”
//1.编写bookDao接口
public interface bookDao {
//2.查询返回一个表的实体类对象(查询一行数据)
book selectBookinfo(String bookid);
}
//2.编写接口实现类bookDaoImple
@Repository
public class bookDaoImple implements bookDao{
//注入JdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
//查询返回一个表的实体类“对象”(一行数据)
@Override
public book selectBookinfo(String bookid) {
String sql = "select * from book where bookid=?";
book bookreturn = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<book>(book.class),bookid);
return bookreturn;
}
}
//3.编写service类
@Service
public class bookService {
//1.注入dao
@Autowired
private bookDao bookdao;
//6.查询返回一行数据
public book findBookinfo(String bookid){
return bookdao.selectBookinfo(bookid);
}
}
//4.编写测试类
book bookinfo = bookservice.findBookinfo("1");
System.out.println(bookinfo);
三、查询返回一个数据集合
//1.编写bookDao接口
public interface bookDao {
//3.查询返回一个集合(返回一个表)
List<book> selectAll();
}
//2.编写接口实现类bookDaoImple
@Repository
public class bookDaoImple implements bookDao{
//注入JdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
//查询返回查询返回一个数据集合(整张表)
@Override
public List<book> selectAll() {
String sql = "select * from book";
List<book> bookList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<book>(book.class));
return bookList;
}
}
//3.编写service类
@Service
public class bookService {
//1.注入dao
@Autowired
private bookDao bookdao;
//查询返回一个集合(返回整张表)
public List<book> findAllbook(){
return bookdao.selectAll();
}
}
//4.编写测试类
List<book> allbook = bookservice.findAllbook();
System.out.println(allbook);
以上是关于Spring5学习笔记(12) — “JdbcTemplate 操作数据库(查询 select)”的主要内容,如果未能解决你的问题,请参考以下文章