mybatis中遇到的异常
遇到的错误1
java.lang.ClassNotFoundException: Cannot find class: com.mysql.jdbc.Driverr
解决方法:
将mysqljdbc驱动包添加上
遇到的错误2
Errorqueryingdatabase.Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in com.hp.bean.Message matching [java.lang.Integer, java.lang.String, java.lang.String, java.lang.String]
解决方法:
1. 将实体类添加一个无参的构造方法
PS:
忘了实体类的原则了
附上一份实体类的原则
http://blog.csdn.net/javapeak/article/details/4218584
借鉴的这个博主的
一、实体类的名字尽量和数据库的表的名字对应相同。
二、实体类应该实现java.io.Serializable接口。(可序列化)
三、实体类应该有个无参的构造方法。
四、实体类应该有个有参(所有的参数)的构造方法。
五、实体类有属性和方法,属性对应数据库中表的字段,方法主要有getter和setter方法。
六、实体类还应该有个属性serialVersionUID。
例如:private static final long serialVersionUID = -6125297654796395674L;
七、属性一般是private类型,方法为public类型,对于数据库自动生成的ID字段对应的
属性的set方法为private。
总结:实体是就是Java中的O/R Mapping映射,即数据库中的一个表映射成对应的一个Java类,其中还有一个映射文件。给定一个较复杂的实体关系(如一对一,一对多,多对多),应该熟练地写出实体类!!