• java dbutils查询数据库时无法给部分字段赋值原因


    1,javaBean如下:

    public class User {
        
        /**
         * 用户唯一标识(ID)
         */
        private String uid;

        /**
         * 用户名(user既手机号)
         */
        private String phone;

        /**
         * 获取用户唯一标识(ID)
         *
         * @return 用户唯一标识(ID)
         */
        public String getUid() {
            return uid;
        }

        /**
         * 获取用户名(user既手机号)
         *
         * @return 用户名(user既手机号)
         */
        public String getPhone() {
            return phone;
        }

        /**
         * 设置用户名(user既手机号)
         *
         * @param phone
         *            用户名(user既手机号)
         */
        public void setPhone(String phone) {
            this.phone = phone;
        }
    }

    2,查询记录如下:

    String sql = "select * from user where phone = ?";
    QueryRunner runner= new QueryRunner(DaoUtils.getSource());
    @SuppressWarnings("rawtypes")
    User query = (User) runner.query(sql, new BeanHandler(User.class), phone);

    这时会发现查询出的结果uid为null,phone有值。

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    原因:

      uid字段没有set方法,所以没有赋值。由此推出dbutils是通过set方法反射进行赋值的。

    解决方法:

      javaBean中增加uid的set方法即可。

  • 相关阅读:
    (转)ubuntu 对拍和基本操作
    一个在线翻译LateX的网站
    51nod 1376: 最长递增子序列的数量(二维偏序+cdq分治)
    BZOJ1087: [SCOI2005]互不侵犯King(状态压缩动态规划)
    ZOJ Problem Set
    bzoj2301:[HAOI2011]Problem b(容斥+莫比乌斯反演+分块)
    BZOJ 4318 OSU!期望DP
    CodeForces 235B Let's Play Osu!(概率)
    博客界面美化
    A+B Problem
  • 原文地址:https://www.cnblogs.com/wf-l5201314/p/6381482.html
Copyright © 2020-2023  润新知