整合:集合在一起,像一个框架一样使用
用的技术是:ioc
为什么ioc:能把mybatis和spring集成在一起,像一个框架,是因为ioc能创建对象。可以把mybatis框架中的对象交给spring统一创建,开发人员从spring中获取对象,就不用同时面对两个或多个框架了,就面对一个spring
mybatis使用步骤,对象
- 定义dao接口,Studentdao
- 定义mapper文件 Studentdao.xml
- 定义mybatis的主配置文件mybatis.xml
- 创建dao的代理对象:
StudentDao dao = SqlSession.getMapper(StudentDao.class);
List students = dao.selectStudents();
要使用dao对象,需要使用getMapper()方法,怎么能使用getMapper()方法,需要哪些条件
- 获取SqlSession对象,需要使用SqlSessionFactory和OpenSession()方法
- 创建SqlSessionFactory对象。通过读取mybatis的主配置文件,能创建SqlSessionFactory对象
SqlSessionFactoryBuild---->SqlSessionFactory---->SqlSession---->getMapper
通过以上的说明,我们需要让spring创建以下对象:
1、独立的连接池类的对象,使用阿里的druid连接池
2、SqlSessionFactory对象
3、创建出dao对象
spring和mybatis集成
步骤:
1、新建maven项目
2、加入maven依赖
1)spring依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
2)mybatis依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
3)mysql驱动
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
4)spring事务的依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
5)mybatis和spring集成的依赖:mybatis官方体用的,用来spring项目中创建mybatis的SqlSessionFactiory,dao对象的
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
6)阿里的连接池依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
7)插件
<build>
<!-- 目的是把src/main/java目录中的xml文件包含到输出结果中-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<!-- 指定jdk的版本-->
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
3、创建实体类
4、创建dao接口和mapper文件
5、创建mybatis主配置文件
6、创建Service的配置文件,属性是dao
7、创建spring的配置文件:声明mybatis的对象交给spring创建
1)数据源
2)SqlSessionFactory
3)Dao对象
4)声明自定的service
8、创建测试类,获取Service对象,通过service调用dao完成数据库的访问