今天踩了个大坑。明明开启了驼峰命名,但是写User表明明能正确查出来有些过
但是打印却是空,我百分之百确定我配置文件没有写错,但是单元测试通过却还是空
如
我的实体类为
可以看到我用了下划线……
public class User implements Serializable {
private int u_id;
private String u_name;
private String u_realname;
private String u_password;
private String u_address;
private String u_phone;
一开始以为扫描包的冲突,没用,pass
以为是数据库关键字冲突,改为users表,不行 pass
后来心血来潮,将字段名改掉
public class Users {
private Integer uid;
private String uname;
private String upassword;
private String urealname;
private String uaddress;
private String uphone;
它就能正确显示了……吐血……
据说:
mybatis配置文件设置了这项后,查询出来的字段如果带下划线,那么就会去掉下划线,然后采用java驼峰规则。比如数据库字段Parent_id,那么查询出来后,会转为parentid,然后去实体类Category匹配对应的字段。 因为你实体类里有下划线,所以匹配不上。要么采用resultMap 要么禁用掉驼峰规则(不建议禁用)。如果不想该实体类的话,建议采用resultMap。
所以,要么
自定义resultMap
要么,去掉下划线。以上。