JDBCTemplate

JdbcTemplate是Spring对JDBC的封装,用于简化数据库操作,它处理资源管理和常见错误预防。在项目中,通过引入相关依赖,可以创建带有注解的实体类、服务层和服务实现层。在Dao层,使用@Repository注解及@Autowired注入JdbcTemplate,实现增删查改等基本操作。
摘要由CSDN通过智能技术生成
									JdbcTemplate

什么是 JdbcTemplate(Template译为模板)

Spring 框架对 JDBC 进行封装,JdbcTemplate是Spring对JDBC的封装,使用 JdbcTemplate 方便实现对数据库操作,目的是使JDBC更加易于使用。JdbcTemplate是Spring的一部分。JdbcTemplate处理了资源的建立和释放。他帮助我们避免一些常见的错误,比如忘了总要关闭连接。他运行核心的JDBC工作流,如Statement的建立和执行,而我们只需要提供SQL语句和提取结果。

准备工作

引入相关 jar 包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>

实体类,业务层,controller层与正常项目无异

实体类创建对象属性后类上方添加注解

@NoArgsConstructor
@AllArgsConstructor
@Data

service实现类中添加注解

@Service
@Transactional

Dao中应使用注解@Repository,并将JdbcTemplate注入到Dao层中:

@Repository
public class BookDao {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    
    //示例代码
    
    //查询全部 返回集合
     public List<Book> selectBook() {
        String sql = "select * from book";
        List<Book> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Book.class));
        return list;
    }
    
    //查询单个 根据id查询 返回对象
     public Book selectBookById(int id) {
        String sql = "select * from book where bid = ?";
        Book book = jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<>				(Book.class),id);
        return book;
    }

    //添加
    public int addBook(Book book) {
        String sql = "insert into book" +
                "(bname,bprice,bnum) value" +
                "(?,?,?)";
        int i = jdbcTemplate .update(sql, book.getBname() , book.getBprice(), book.getBnum());
        return i;
    }

    //修改
    public int updateBook(Book book) {
        String sql = "update book set bname = ? where bid = ?";
        int i = jdbcTemplate.update(sql,book.getBname(),book.getBid());
        return i;
    }

    //删除
    public int deleteBookById(int i) {
        String sql = "delete from book where bid = ?";
        int a = jdbcTemplate.update(sql,i);
        return a;
    }
    
    //查询记录条数
    public int selectBookAllRows() {
        String sql = "select count(*) from book";
        Integer integer = jdbcTemplate.queryForObject(sql, Integer.class);
        return integer;
    }
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值