Spring query方法:用于JDBC查询
query 方法用于 JDBC 查询,它有多种重载方法。
定义单用户查询方法,从数据库中查询指定 ID 编号的用户,将查询结果赋值给用户实体类,关键代码如下:
本示例定义单用户查询方法,从数据库中查询指定 ID 编号和指定年龄的用户,将查询结果赋值给用户实体类,关键代码如下:
本示例定义用户查询方法,从数据库中查询所有用户实体对象,关键代码如下:
本示例定义单用户查询方法,从数据库中查询指定年龄段的用户,返回这些用户实体对象的 List 集合,关键代码如下:
语法1
query(String sql,RowCallbackHandler rch)
参数说明:- sql:执行 JDBC 查询的 SQL 语句。
- rch:RowCallbackHandler 回调接口的实现。
示例1
该方法使用 SQL 语句和 RowCallbackHandler 回调接口处理查询结果。定义单用户查询方法,从数据库中查询指定 ID 编号的用户,将查询结果赋值给用户实体类,关键代码如下:
public TbUser getUser(int id){
final TbUser user = null;
String sql = "select*from tb_user where id="+id; //创建一条SQL语句
getJdbcTemplate().query(sql,new RowCallbackHandler(){
public void processRow(ResultSet rs)throws SQLException{
user.setAge(rs.getInt("age"));
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex"));
}
});
return user;
}
示例2
定义用户查询方法,从数据库中查询所有用户,将查询结果赋值给用户实体对象并将所有实体对象添加到 List 集合中,关键代码如下:
public List getAllUsers(){
final List list = new ArrayList();
String sql = "select*from tb_user"; //创建一条SQL语句
getJdbcTemplate().query(sql,new RowCallbackHandler(){
public void processRow(ResultSet rs)throws SQLException{
TbUser user = new TbUser();
user.setAge(rs.getInt("age"));
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex"));
list.add(user);
}
});
return list;
}
语法2
query(String sql,Object[] args,RowCallbackHandler rch)
参数说明:- sql:执行 JDBC 查询的 SQL 语句。
- args:SQL 语句中对应的参数值数组。
- rch:RowCallbackHandler 回调接口的实现。
示例
该方法使用 SQL 语句、参数和 RowCallbackHandler 回调接口处理查询结果。本示例定义单用户查询方法,从数据库中查询指定 ID 编号和指定年龄的用户,将查询结果赋值给用户实体类,关键代码如下:
public TbUser getUser(int id,int age){
final TbUser user = null;
String sql = "select*from tb_user where id=?and age=?"; //创建一条SQL语句
Integer[] args = {id,age};
getJdbcTemplate().query(sql,args,new RowCallbackHandler(){
public void processRow(ResultSet rs)throws SQLException{
user.setAge(rs.getInt("age"));
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex"));
}
});
return user;
}
语法3
query(String sql,RowMapper rowMapper)
参数说明:- sql:执行 JDBC 查询的 SQL 语句。
- rowMapper:RowMapper 回调接口的实现。
示例
该方法使用 SQL 语句、参数和 RowMapper 回调接口处理查询结果。本示例定义用户查询方法,从数据库中查询所有用户实体对象,关键代码如下:
public List getAllUsers(){
String sql = "select*from tb_user"; //创建一条SQL语句
List list = getJdbcTemplate().query(sql,new RowMapper(){
public Object mapRow(ResultSet rs,int rowNum)throws SQLException{
TbUser user = new TbUser();
user.setAge(rs.getInt("age"));
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex"));
return user;
}
});
return list;
}
语法4
query(String sql,Object[] args,RowMapper rowMapper)
参数说明:- sql:执行 JDBC 查询的 SQL 语句。
- args:SQL 语句中对应的参数值数组。
- rowMapper:RowMapper 回调接口的实现。
示例
该方法使用 SQL 语句、参数和 RowMapper 回调接口处理查询结果。本示例定义单用户查询方法,从数据库中查询指定年龄段的用户,返回这些用户实体对象的 List 集合,关键代码如下:
public List getUsers(int minAge,int maxAge){
String sql = "select*from tb_user where age>?&&age<?"; //创建一条SQL语句
Integer[] args = {minAge,maxAge};
List list = getJdbcTemplate().query(sql,args,new RowMapper(){
public Object mapRow(ResultSet rs,int rowNum)throws SQLException{
TbUser user = new TbUser();
user.setAge(rs.getInt("age"));
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex"));
return user;
}
});
return list;
}
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频