关于Mybatis框架和Spring框架整合的那些遇到的坑(1)!
说起Java语言中的几大框架,不得不说mybatis和spring框架的整合,当然了,后面还会和SpringMVC框架整合,咱们先一步一步的来,程序程序,只要一步一步走对了,结果不会出BUG.下面来说说整合中遇到过的坑!
首先想问一下:(1)这两个框架为什么要整合,整合的作用是什么?
回答这个问题就是回答Spring和Mybatis框架整合的思路,学习过Spring和Mybatis框架的人都知道,Spring框架里面的生成的对象全部是由Spring框架来管理的,比如常用的什么customerDao,accountDao,userDao,customerService,accountService,userService都是在我们那个熟悉的applicationContext.xml里面配置的吧,当然了还有事务管理TransactionManager,transactionTemplate,Mybatis框架里面SqlMapConfig.xml里面数据库连接池,还有SqlSession也是都去spring容器中获取,由spring容器来管理,以此来简化配置。
(2)既然要整合了,那么整合的步骤是怎样的呢?别急,整合之前先搞搞清楚,整合需要的jar包有哪些?整合的配置文件有哪些?以及整合过程中我们采用的开发方式(传统Dao开发模式,Mapper动态代理,以及Mapper动态代理增强版-扫描版)是什么样子的?回答这个问题不得不罗列一下我们的框架所需要的jar包咯,这其中包括spring框架的15个jar包(单个框架)
Mybatis所要的jar包12个(单个框架)
当两者整合后需要mybatis-spring.jar,数据库连接池
整合除了需要必要的jar包之外还需要对应的配置文件,我们知道mybatis框架的配置文件是SqlMapConfigxml,spring框架配置文件中的applicationContext.xml,那么在整合过程中这两个配置文件仍然需要,因此下面就针对Mybatis框架采用传统Dao开发方式为例进行讲解。
配置文件在项目中的位置可以是根目录src下或者自己重新专门建一个包用来放置配置文件。值得注意的是配置文件中有一个头标签的约束,就是一些xsd和对应的路径,这个是可以在对应框架的核心包下找到。
(3)Mybatis和spring框架整合开始,以传统的Dao开发为例进行操作,具体步骤如下:
1.导入相关的jar包,总共是32个jar包
2.创建对应包cn.itcast.mybatis.pojo;,对应的实体类User(此处仅仅用User举一个例子)
需要注意的是必须实现序列化接口Serializable,因为在实际开发项目中数据的传输是 在客户端和服务器中,是一个集群,这就涉及到数据 在不同的计算机之间传递,因此实现序列化接口Serializable才能将数据进行有序的通过我们的网络网线传到另一个计算机上。
3.创建接口文件UserDao以及对应的实现类UserDaoImpl
UserDaoImpl
4.创建对应的配置文件applicationContext.xml以及SqlMapConfig.xml
当然还要配置一些数据库连接信息db.properties和对应的日志打印配置文件log4j.properties
5.创建单元测试文件
测试成功!
小结:这个只是查询用户的一个功能测验,不过这个整合过程就是如此,两个框架的整合之后才会惊醒下一步的与springMVC进行整合。