***每存在一对接口和xml文件, 必须在xml文件中定义好mapper标签及namespace ***每对接口和xml文件名必须一致
1、 标签中的namespace属性 属性名不能写错,属性值一定要是接口的全类名 同时,接口中的抽象方法,和xml文件中的标签id也一定要对应 否则,错误信息显示为: invaild bound statement(不明确的关联关系)
2、 sqlMapConfig.xml文件一定要放在src目录中,而不是某个包中 否则,not found: sqlMapConfig.xml
3、 标签中的parameterType、resultType中的全类名写完之后, 按住ctrl,鼠标检查一下有没有下划线 否则,Could not resolve type alias: 'com...某类名' 原因为:类名写错了
4、 没有足够的值:比如进行的是全字段的添加, insert标签中#{}个数少于表中的字段个数
5、 表或视图不存在:表名写错了
6、 占位符#{ }中的内容和实体类的变量名对应 否则,There is no getter for property '(错误的变量名)' in 'com..***.某类'
7、 mapper.xml文件中的标签中,利用#{}来获取对象中的变量值时, 变量的顺序要和表中的字段顺序对应 否则,无效数字
8、 新建一个项目,并导入sqlMapConfig.xml文件时, 注意!要更改username 否则,invalid username/password
9、 select标签中,select查询的sql语句,查询的每一个字段要和数据库 表中的字段名对应 否则,标识符无效:'***(错误的字段名)'
10、 实体类中如果生成了有参构造方法,必须也要生成无参构造方法 否则,NoSuchMethodException:com.easy.model.某类()
11、 查询结果个数和抽象方法的返回值类型要匹配 如果查询到的结果个数大于一,而抽象方法返回值为实体对象 则,TooManyResultException
12、 当进行to_date或to_char函数转换日期格式时,输入的日期一定要合理 同时转换成为的目标日期格式也要合理 否则,显示“文字与格式字符串不匹配”
13、 数据库的表结构中,每个字段的数据类型要和Java实体类对象的变量 的数据类型匹配 否则,显示“无法转换为内部表示” 比如数据库中为varchar类型,Java中为int类型
14、 xml文件中Mybatis标签中的sql语句,标点和关键词要使用准确 否则,显示“sql命令未正确结束” 比如缺少或多余标点,错误或缺少关键词, 动态的where、set标签使用不正确
15、 xml文件中的sql语句里,要保证使用了正确的数据库表中的字段名 否则,显示“ "***" 标识符无效”
16、 xml文件中Mybatis标签里的#{ }占位符,在获取对象中的指定变量时, 要保证该变量非空 否则,显示“Error setting null for parameter #N”
***每存在一对接口和xml文件, 必须在xml文件中定义好mapper标签及namespace ***每对接口和xml文件名必须一致
1、 标签中的namespace属性 属性名不能写错,属性值一定要是接口的全类名 同时,接口中的抽象方法,和xml文件中的标签id也一定要对应 否则,错误信息显示为: invaild bound statement(不明确的关联关系)
2、 sqlMapConfig.xml文件一定要放在src目录中,而不是某个包中 否则,not found: sqlMapConfig.xml
3、 标签中的parameterType、resultType中的全类名写完之后, 按住ctrl,鼠标检查一下有没有下划线 否则,Could not resolve type alias: 'com...某类名' 原因为:类名写错了
4、 没有足够的值:比如进行的是全字段的添加, insert标签中#{}个数少于表中的字段个数
5、 表或视图不存在:表名写错了
6、 占位符#{ }中的内容和实体类的变量名对应 否则,There is no getter for property '(错误的变量名)' in 'com..***.某类'
7、 mapper.xml文件中的标签中,利用#{}来获取对象中的变量值时, 变量的顺序要和表中的字段顺序对应 否则,无效数字
8、 新建一个项目,并导入sqlMapConfig.xml文件时, 注意!要更改username 否则,invalid username/password
9、 select标签中,select查询的sql语句,查询的每一个字段要和数据库 表中的字段名对应 否则,标识符无效:'***(错误的字段名)'
10、 实体类中如果生成了有参构造方法,必须也要生成无参构造方法 否则,NoSuchMethodException:com.easy.model.某类()
11、 查询结果个数和抽象方法的返回值类型要匹配 如果查询到的结果个数大于一,而抽象方法返回值为实体对象 则,TooManyResultException
12、 当进行to_date或to_char函数转换日期格式时,输入的日期一定要合理 同时转换成为的目标日期格式也要合理 否则,显示“文字与格式字符串不匹配”
13、 数据库的表结构中,每个字段的数据类型要和Java实体类对象的变量 的数据类型匹配 否则,显示“无法转换为内部表示” 比如数据库中为varchar类型,Java中为int类型
14、 xml文件中Mybatis标签中的sql语句,标点和关键词要使用准确 否则,显示“sql命令未正确结束” 比如缺少或多余标点,错误或缺少关键词, 动态的where、set标签使用不正确
15、 xml文件中的sql语句里,要保证使用了正确的数据库表中的字段名 否则,显示“ "***" 标识符无效”
16、 xml文件中Mybatis标签里的#{ }占位符,在获取对象中的指定变量时, 要保证该变量非空 否则,显示“Error setting null for parameter #N”