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类,其中还有一个映射文件。给定一个较复杂的实体关系(如一对一,一对多,多对多),应该熟练地写出实体类!!

原文地址:https://www.cnblogs.com/thehugo/p/5597882.html