Mybatis常见错误–初学学习笔记
一,查询出的结果是null或是空白
是UserTest(测试类)中的属性名和数据库中的属性名不同所照成的,
如数据库中属性属性名为uid 和 uname
那么在你的User(实体类)中是不可以这样写的
private int id;
private String name;
public int getUid() {
return id;
}
public void setid(int id) {
this.id = id;
}
public String getname() {
return name;
}
public void setname(String name) {
this.name = name;
}
或者是其他千奇百怪的命名方式,需要是这样的
private int uid;
private String uname;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
}
目前的理解是:可能是如果不同实体类会get不到数据库的点吧!结果就是没结果,不报错。
追加在学到多条件查询时
public void listCategoryByIdAndName(){
String name="name";
int id=3;
Map<String, Object> par=new HashMap<String, Object>();
par.put("uid",id);
par.put("uname",name);
session=MybatisUtil.getSqlSession();
List<User>users=session.selectList("listCategoryByIdAndName",par);
for (User user:users){
System.out.println("用户名:"+user.getUname());
}
session.close();
}
其中向Map中添加的key也是要同名的
二 关于log4j的使用
初次学了lo4j后,试了一下,和没加一样,配资文件加了,依赖也写了,最后得知是没有在 mybatis-config.xml中设置
<settings>
<setting name="logImpl" value="log4j"/>
</settings>
位置是在<properties resource=“datebse.properties” 之后