Spring5中JdbcTemplate

打印 上一主题 下一主题

主题 773|帖子 773|积分 2319

JdbcTemplate是什么
JdbcTemplate 类提供了很多便利的方法解决诸如把数据库数据转变成基本数据类型或对象,执行写好的或可调用的数据库操作语句,提供自定义的数据错误处理。
在spring配置文件配置数据库连接池
  1. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
  2. destroy-method="close">
  3. <property name="url" value="jdbc:mysql:///user_db" />
  4. <property name="username" value="root" />
  5. <property name="password" value="root" />
  6. <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  7. </bean>
复制代码
配置 JdbcTemplate 对象,注入 DataSource
  1. <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
  2. <property name="dataSource" ref="dataSource"></property>
  3. </bean>
复制代码
JdbcTemplate添加操作
  1. //注入 JdbcTemplate
  2. @Autowired
  3. private JdbcTemplate jdbcTemplate;
  4. //添加的方法
  5. @Override
  6. public void add(Book book) {
  7. //1 创建 sql 语句
  8. String sql = "insert into t_book values(?,?,?)";
  9. //2 调用方法实现
  10. Object[] args = {book.getUserId(), book.getUsername(),
  11. book.getUstatus()};
  12. int update = jdbcTemplate.update(sql,args);
复制代码
JdbcTemplate修改操作
  1. String sql = "update t_book set username=?,ustatus=? where user_id=?";
  2. Object[] args = {book.getUsername(), book.getUstatus(),book.getUserId()};
  3. int update = jdbcTemplate.update(sql, args);
复制代码
JdbcTemplate删除操作
  1. String sql = "delete from t_book where user_id=?";
  2. int update = jdbcTemplate.update(sql, id);
复制代码
JdbcTemplate(查询返回某个值)(查询返回对象)
  1. BeanPropertyRowMapper:将数据库查询结果转换为Java<a  href="https://so.csdn.net/so/search?q=%E7%B1%BB%E5%AF%B9%E8%B1%A1&spm=1001.2101.3001.7020" target="_blank" data-report-click="{"spm":"1001.2101.3001.7020","dest":"https://so.csdn.net/so/search?q=%E7%B1%BB%E5%AF%B9%E8%B1%A1&spm=1001.2101.3001.7020"}" data-tit="类对象" data-pretit="类对象" rel="noopener">类对象</a>。<br> 常应用于使用Spring的JdbcTemplate查询数据库,获取List结果列表,数据库表字段和实体类自动对应。
复制代码
  1. //返回某个值
  2. String sql = "select count(*) from t_book";
  3. Integer count = jdbcTemplate.queryForObject(sql, Integer.class);
  4. //返回对象
  5. String sql = "select * from t_book where user_id=?";
  6. Book book = jdbcTemplate.queryForObject(sql, <br>new BeanPropertyRowMapper<Book>(Book.class), id);
复制代码
JdbcTemplate 查询返回集合
 
  1. String sql = "select * from t_book";
  2. List<Book> bookList = jdbcTemplate.query(sql,<br> new BeanPropertyRowMapper<Book>(Book.class));
复制代码
 
JdbcTemplate批量增加、删除、修改
  1. batchUpdate(<strong>增加、删除、修改)</strong>
复制代码
 
  1. public void batchUpdateBook(List<Object[]> batchArgs) {
  2. String sql = "update t_book set username=?,ustatus=? where user_id=?";
  3. int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);
  4. System.out.println(Arrays.toString(ints));
  5. }
  6. List<Object[]> batchArgs = new ArrayList<>();
  7. Object[] o1 = {"java0909","a3","3"};
  8. Object[] o2 = {"c++1010","b4","4"};
  9. batchArgs.add(o1);
  10. batchArgs.add(o2);
  11. //调用方法实现批量修改
  12. bookService.batchUpdate(batchArgs);
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

缠丝猫

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表