jdbctemplate

JDBCTEMPLATE

  • 概念 spring框架对jdbc进行了封装 使用jdbctemplate方便实现对数据库操作

  • 准备工作 引入相关jar包 在spring配置数据库的连接池

  • 配置jdbcTemplate对象 注入 datasource

        <!-- 数据库连接池 -->
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
              destroy-method="close">
            <property name="url" value="jdbc:mysql:///user_db" />
            <property name="username" value="root" />
            <property name="password" value="" />
            <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        </bean>
    <!--    创建jdbctemplate对象的实例-->
        <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <!--        注入datasource -->
            <property name="dataSource"  ref="dataSource"/>
        </bean>
    
  • 创建service类 创建dao类 在dao注入jdbcTemplate对象(其实是daoImpl )

操作数据库

添加(update 可以实现 增删改)

  1. 对应数据库表创建实体类
  2. 编写service和dao
    1. 在dao进行数据库添加操作
    2. 调用jdbctemplate对象里的update方法实现添加操作
    3. update 两个参数 第一个 sql语句 第二哥 可变参数 设置sql语句值

查询操作!

  1. 查询 表里面有多少记录 返回某个值
  2. 使用jdbcTemplate 实现查询返回某个值
    1. queryForObject
    2. 第一个参数 sql语句
    3. 第二个参数 返回类型

查询返回对象

  1. 场景 查询图书详情

  2. jdbcTemplate 实现查询返回对象

    1. queryForObject

    2. 三个参数

    3. 第一个参数 sql语句

    4. 第二个参数 RowMapper 是一个接口 返回不同类型数据 使用这个接口里面实现类完成数据的封装

    5. 第三个参数 sql语句中?的值

      //查询返回对象
      @Override
      public User findBookInfo(String id) {
          String sql="select * from user where userid=?";
          User user=jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<User>(User.class),id);
          return user;
      }
      

查询返回集合

  1. 场景 查询图书列表分页

  2. 调用jdbcTemplate 方法实现查询返回集合

    1. query

    2. 第一个参数 sql语句

    3. 第二个参数 RowMapper接口 针对返回不同类型数据 使用这个接口里面实现类完成数据封装

    4. 第三个参数 sql语句中?的值

      //查询返回集合
      @Override
      public List<User> findAllBook() {
          String sql="select * from user";
          List<User> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<User>(User.class));
          return list;
      }
      

批量操作

  • 批量操作 操作表里面多条记录

  • jdbcTemplate 实现批量添加的操作

    • batchUpdate

    • 第一个参数 sql语句

    • 第二个参数 list集合

      //实现批量添加操作
      @Override
      public void batchAddBook(List<Object[]> list) {
          String sql="insert into user values(?,?,?";
          int[] ints = jdbcTemplate.batchUpdate(sql, list);
          System.out.println(Arrays.toString(ints));
      }
      
  • 批量修改操作

    • //批量修改
      @Override
      public void batchUpdateBook(List<Object[]> list) {
          String sql="update user set username=?, ustatus=? where userid=?";
          jdbcTemplate.batchUpdate(sql,list);
      }
      
  • 批量删除操作

//批量删除
@Override
public void batchDeleteBook(List<Object[]> list) {
    String sql="delete from user where userid=?";
    int[] ints = jdbcTemplate.batchUpdate(sql, list);
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值