一、概述
MyBatis
前身为 iBatis
,2002
年由 Clinton Begin
发布。2010
年从 Apache
迁移到 Google
,并改名为 MyBatis
,2013
年又迁移到了 Github
。
MyBatis
是一个开源、轻量级的数据持久化框架,是 JDBC
和 Hibernate
的替代方案。MyBatis
内部封装了 JDBC
,简化了加载驱动、创建连接、创建 statement
等繁杂的过程,开发者只需要关注 SQL
语句本身。
二、 在学习MyBatis中遇到了很多问题:
以截图来说明问题:
情况一、
遇到这种问题:一般是因为我们没有进行mapper的映射,或者映射文件的路径有误。
在图二的mybatis-config中,我们可以看到我下划线的地方,是因为没有配置框起来的地方二宝的错。
解决:要想解决这种问题,我们需要在config文件中写上映射文件,就不会报如图的错误了!
情况二、
遇到这种问题:一般是因为我们没有进行mapper的映射,或者映射文件的路径有误。
在图二的namespace中,我们可以看到配置的是Mapper,但是图三圈出来的是EmployeeMapper。
解决:要想解决这种问题,我们需要将图二的配置mapper文件改为EmployeeMapper,这时,在运行,就不会报如图的错误了!
情况三、
遇到这种问题:一般是因为没有导包而导致的错误。
在学习MyBatis中,我们知道要用到很多jar包,我们仔细检查我们的项目有没有缺少某个包。所以需要我们格外细心;
解决:如下图,我们需要导入图三圈出来的jar包。
情况四、
遇到这种问题:仔细阅读报错代码就会发现我们没有写入具体的数据库以及数据库名和数据库密码;
解决:填入自己所用数据库的信息,如图二圈出来所示。报错信息就会解决。
情况五、
遇到这种问题:这个问题就是建立在多表查询上的错误,错误的原因是如图的dept是一个对象,而非是一个属性。
解决:要解决这个问题就需要我们在当前的XML文件中进行dept对象的配置,具体配置如图三所示。
情况六、
遇到这种问题:是因为在图二我们可以看到我们的主键默认是0,而事实上我们要求的是主键是唯一的,所以就会报错。
解决:要想解决这个问题,我们只需要在数据库里(如图三)将属性值更改为AUTO-INCREMENT自动增长型。
三、 总结
上述的六个问题是最长会出现的错误,也是编者自己出错率较高的,MyBatis没有很复杂,相反的,它简化了很多东西,比如sqlsession对象的创建,数据库的连接。
在学习中我们当然会遇到各种不同的问题,遇到问题不是一件坏事,编者就是在问题中学习,通过错误来学习知识点。
我的MyBatis学习阶段告一段落,但是我会继续总结知识点的。