[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的一些使用心得的主要内容,如果未能解决你的问题,请参考以下文章

开源技术推荐之个人使用心得

MyBatis学习记录

WEB聊天室开发心得体会

关于Mybatis使用原生接口开发的心得以及示例代码

mybatis 关联表心得

web开发的一些心得