[Web]Mybatis的一些使用心得
Posted z354681250
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Web]Mybatis的一些使用心得相关的知识,希望对你有一定的参考价值。
错误:java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for...
原因:命名空间没写对,如果使用mapper,则<mapper namespace="com.sitech.mapper.StudentMapper">空间中一定要写上Mapper的名称,否则就会报错。
错误:Cannot add or update a child row: a foreign key constraint fails
原因:mysql的检查机制,插入数据时当前表中的外键的值,在其对应的表中必须存在相应主键。否则报错
collection标签和association标签的区别:
比如同时有A.java和B.java两个类,A.java如下:
public class A
private B b1;
private List<B> b2;
在映射b1属性时用association标签, 映射b2时用collection标签,分别是一对一,一对多的关系
session.commit();不能忘,他是用来保存数据库的,在每次插入等修改结束后,session.close();前,一定要有!否则无法存入数据库,即便程序没有错误出现。
Could not find result map java.util.Map错误:
错误写法
<select id="queryXXXCount" resultMap="java.util.Map" >
正确写法:
<select id="queryXXXCount" resultType="java.util.Map">
mybatisjar包在本地好用 ,发布在web后,项目的lib要复制到web-inf的lib下,在web才可用
<select id="selectPassword" parameterType="String"
resultType="String">
SELECT Password FROM user WHERE UserName = #Username <!--mapper示例 这里面的#的值 是从前端对应name属性找到的值传递进来-->
</select>
Mapped Statements collection does not contain value for后面是什么类什么方法之类的:
错误原因有几种:
1、mapper.xml中没有加入namespace (多数情况出现在第一条)
2、mapper.xml中的方法和接口mapper的方法不对应
3、mapper.xml没有加入到mybatis-config.xml中(即总的配置文件),例外:配置了mapper文件的包路径的除外
4、mapper.xml文件名和所写的mapper名称不相同。
学习资源:http://www.cnblogs.com/xdp-gacl/p/4261895.html
以上是关于[Web]Mybatis的一些使用心得的主要内容,如果未能解决你的问题,请参考以下文章