Spring JdbcTemplate实例
1、常用方法
* update():执行DML语句。增、删、改语句
* queryForMap():查询结果将结果集封装为map集合,将列名作为key,将值作为value 将这条记录封装为一个map集合
* 注意:这个方法查询的结果集长度只能是1
* queryForList():查询结果将结果集封装为list集合
* 注意:将每一条记录封装为一个Map集合,再将Map集合装载到List集合中
* query():查询结果,将结果封装为JavaBean对象
* query的参数:RowMapper
* 一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
* new BeanPropertyRowMapper<类型>(类型.class)
* queryForObject:查询结果,将结果封装为对象
* 一般用于聚合函数的查询
2、示例代码
1 package com.alphajuns.jdbcTest; 2 3 import com.alphajuns.pojo.User; 4 import com.alphajuns.utils.JDBCUtils; 5 import org.junit.Test; 6 import org.springframework.jdbc.core.BeanPropertyRowMapper; 7 import org.springframework.jdbc.core.JdbcTemplate; 8 import org.springframework.jdbc.core.RowMapper; 9 10 import java.sql.ResultSet; 11 import java.sql.SQLException; 12 import java.util.List; 13 import java.util.Map; 14 15 /** 16 * @ClassName JDBCTest 17 * @Description 18 * @Author AlphaJunS 19 * @Date 2019/10/30 22:19 20 * @Version V1.0 21 **/ 22 public class JDBCTest { 23 24 private JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource()); 25 26 @Test 27 public void update1() { 28 String sql = "update user set username = ? where id = ?"; 29 int count = jdbcTemplate.update(sql, "zhangsanfeng", 3); 30 System.out.println(count); 31 } 32 33 @Test 34 public void update2() { 35 String sql = "insert user (id, username, password) VALUE (?, ?, ?)"; 36 int count = jdbcTemplate.update(sql, 6, "zhaoliu", "654321"); 37 System.out.println(count); 38 } 39 40 @Test 41 public void query1() { 42 String sql = "select * from user"; 43 List<Map<String, Object>> mapList = jdbcTemplate.queryForList(sql); 44 for (Map<String, Object> stringObjectMap : mapList) { 45 System.out.println(stringObjectMap); 46 } 47 } 48 49 @Test 50 public void query2() { 51 String sql = "select * from user where id = ?"; 52 Map<String, Object> stringObjectMap = jdbcTemplate.queryForMap(sql, 4); 53 System.out.println(stringObjectMap); 54 } 55 56 @Test 57 public void query3() { 58 String sql = "select * from user"; 59 List<User> userList = jdbcTemplate.query(sql, new RowMapper<User>() { 60 @Override 61 public User mapRow(ResultSet resultSet, int i) throws SQLException { 62 User user = new User(); 63 user.setId(resultSet.getInt("id")); 64 user.setUsername(resultSet.getString(1)); 65 user.setPassword(resultSet.getString("password")); 66 return user; 67 } 68 }); 69 System.out.println(userList); 70 } 71 72 @Test 73 public void query4() { 74 String sql = "select * from user"; 75 List<User> userList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<User>(User.class)); 76 System.out.println(userList); 77 } 78 79 }
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2018-10-30 Map接口
2018-10-30 索引的操作