query 方法用于 JDBC 查询,它有多种重载方法。
参数说明:
该方法使用 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;
- }
定义用户查询方法,从数据库中查询所有用户,将查询结果赋值给用户实体对象并将所有实体对象添加到 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;
- }
参数说明:
该方法使用 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;
- }
参数说明:
该方法使用 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;
- }
参数说明:
该方法使用 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;
- }