美文网首页
mybatis做查询时需要注意的

mybatis做查询时需要注意的

作者: 回不去的那些时光 | 来源:发表于2018-12-20 16:42 被阅读12次

    mapper.xml中字段名和参数名不能一样

    今天用mybatis写了个查询,发现将数据注入到mapper.xml时一直注入不进去,花了好长时间才搞好。
    原来是mapper.xml中字段名和参数名不能一样
    例如:

         @PostMapping("/login")
         public Map Login(@RequestBody Map<String,Object> reqMap) {
             Map map = new HashMap();
             String username = reqMap.get("username").toString();
             String password = reqMap.get("password").toString();
             Admin admin1 = new Admin();
             try {
                 admin1 = adminService.login(username,password);
                 if(admin1 != null) {
                     map.put("status", 200);
                     map.put("admin", admin1);
                 }else {
                     map.put("status", 204);
                     map.put("msg", "用户名或密码错误!");
                 }
             } catch(Exception e) {
                 System.out.print("err");
             }
             return map;
         }
    
    <select id="findByUsernameAndPassword" resultType="com.blog.entity.Admin">
        select * from admin where username=#{param1} and password=#{param2}
      </select>
    

    _parameter当做参数

     <select id="findAll" resultType="com.blog.entity.Classify">
        select id,name classifyName from classify where 1=1
        <if test = '_parameter != ""'>
          and name=#{_parameter}
        </if>
      </select>
    

    当列名和实体类字段名不一样时

    当列明和实体类字段名不一样时,往往会查不到值,这个时候可以在查询时使用别名的方式

    相关文章

      网友评论

          本文标题:mybatis做查询时需要注意的

          本文链接:https://www.haomeiwen.com/subject/xuzykqtx.html