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>
当列名和实体类字段名不一样时
当列明和实体类字段名不一样时,往往会查不到值,这个时候可以在查询时使用别名的方式
网友评论