JdbcTemplate(操作数据库-查询返回对象、查询返回集合)

发布时间 2023-07-13 23:40:33作者: 且行且思

实现类:

package org.example.spring.dao;
 
import org.example.spring.entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
 
@Repository
public class BookDaoImpl implements BookDao{
 
    //注入jdbcTemplate对象
    @Autowired
    private JdbcTemplate jdbcTemplate;
 
 
    //查询对象
    @Override
    public Book findBookInfo(int id) {
        String sql="select * from t_book where user_id=?";
        //queryForObject()有三个参数
//        第一个参数sql语句
//        第二个参数 RowMapper(这是spring中封装好的一个接口,针对返回不同类型数据,使用这个接口里面的实现类完成数据的【封装】)
//        第三个参数 sql语句值
        Book book = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<Book>(Book.class), id);
        return book;
    }
 
    //查询集合
    @Override
    public List<Book> findAllBook() {
        String sql="select * from t_book";
        //query()有三个参数
//        第一个参数sql语句
//        第二个参数 RowMapper(这是spring中封装好的一个接口,针对返回不同类型数据,使用这个接口里面的实现类完成数据的【封装】)
//        第三个参数 sql语句值
        List<Book> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<Book>(Book.class));
        return query;
    }
}