RowMapper rowMapper=new BeanPropertyRowMapper(User.class);

本文介绍了如何使用BeanPropertyRowMapper来避免手动编写映射代码,提高Java应用中JDBC查询的效率。通过示例展示了在查询USER表时,如何利用BeanPropertyRowMapper自动将数据库结果映射到User实体类,强调了字段名和实体类属性名的一致性要求。
摘要由CSDN通过智能技术生成

使用BeanPropertyRowMapper实现接口RowMapper ,不需要手动书写映射。

//手动书写映射,字段与表中字段名一致

public User sum(String a, String b) {

        User u = null;

        List<User > list = new ArrayList<User >();
    
            sql = "select * from USER  where uname = ?" ;
            list = jdbcTemplate.query(sql, new RowMapper<User>(){
                public User  mapRow(ResultSet rs, int rowNum) throws SQLException {  
                    User user = new User();  
                    user.setUid(rs.getInt("uid"));  
                    user.setUname(rs.getString("uname"));
                    user.setUpwd(rs.getString("upwd"));
                    return user;  
                }
            });
            

            u = list.get(0);

    
     
    return u;
    }
//使用BeanPropertyRowMapper实现接口,代码更简洁

public User sum(String a, String b) {

        User res = null;

        List<User> list = new ArrayList<User>();
 
           sql = "select * from USER  where uname = ?" ;
           list = (List<User>)jdbcTemplate.query(sql,
                    new Object[]{"1"},new BeanPropertyRowMapper(User.class));

            res = list.get(0);

        
    return res;
    }

需要注意

BeanPropertyRowMapper是根据字段名和实体类中的标准Setter方法进行映射。也就是说,我们需要使表中的字段名和实体类的成员变量名称必须一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值