Spring JDBC-Spring 对 JDBC的 DAO支持类详解

 前言

参照我的博客,熟悉基础的Spring JDBC的操作

Spring JdbcTemplate与NamedJdbcTemplate模板的实战案例与优化解析-CSDN博客

 了解基础的Spring JDBC后我们可以知道,即使是封装了原生JDBC的JdbcTemplate类在书写时也存在冗余代码,对此Spring提供了一些支持类,来进一步简化JDBC的相关操作。

  • 存在问题
    • JDBC的全部DAO类,需要一个JdbcTemplate属性和一个设置方法
    • 把JdbcTemplate Bean装配到每个DAO的JdbcTemplate属性
    • 多个DAO,产生很多重复代码
  • 解决方案
    • 全部DAO 对象创建一个通用父类 在其中设置 JdbcTemplate 属性,
    • 全部 DAO 继承这个类,使用父类的JdbcTemplate进行数据访问,
    • Spring恰好提供了这样一些基类。

案例解析

使用JdbcDaoSupport

  • Spring 的 JdbcDaoSupport 就是用于编写基于JDBC 的DAO 类的基类
  • 自己的DAO类继承它即可

接下来我将通过案例来演示JdbcDaoSupport的使用

 创建实体类继承JdbcDaoSupport类

UserDao

package dao;

import entity.User;

import java.util.List;

public interface UserDao {
    //查询所有用户
    List<User> getAllUsers();

    List<User> getUsersByCond(User user);

    User getUserById(int id);

    int addUser(User user);

    int deleteUser(int id);

    int updateUser(int id);
}

UserDaoJdbcTemplate

@Component("userDaoTemp")
public class UserDaoJdbcTemplate implements UserDao {
    public static final RowMapper rowMapper=new ParameterizedRowMapper<User>(){
        @Override
        public User mapRow(ResultSet rs, int i) throws SQLException {
            User user =new User();
            user.setUser_id(rs.getInt("user_id"));
            user.setUser_name(rs.getString("us
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值