[Web]Mybatis的一些使用心得

4 篇文章 0 订阅

错误: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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值