Spring——整合Mybatis
整合Mybatis步骤:
1.导入相关jar包:
-
junit
-
mybatis
-
mysql数据库
-
spring相关
-
aop织入
-
mybatis-spring
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.12version>
<scope>testscope>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>5.1.47version>
dependency>
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatisartifactId>
<version>3.5.2version>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-webmvcartifactId>
<version>5.2.8.RELEASEversion>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-jdbcartifactId>
<version>5.1.0.RELEASEversion>
dependency>
<dependency>
<groupId>org.aspectjgroupId>
<artifactId>aspectjweaverartifactId>
<version>1.9.6version>
dependency>
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatis-springartifactId>
<version>2.0.2version>
dependency>
dependencies>
2.编写配置文件
3.测试
1.Mybatis-spring方式一
1.编写数据源配置
2.sqlSessionFactory
3.sqlSesstionTemplate
4.需要给接口加实现类
package com.yl.mapper;
?
import com.yl.pojo.User;
import org.mybatis.spring.SqlSessionTemplate;
?
import java.util.List;
?
public class UserMapperImpl implements UserMapper{
//原来所有的操作用sqlSession来执行,现在使用SqlSessionTemplate
private SqlSessionTemplate sqlSession;
?
public void setSqlSession(SqlSessionTemplate sqlSession) {
this.sqlSession = sqlSession;
}
?
public List<User> selectUser() {
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
return mapper.selectUser();
}
}
5.将自己写的实现类注入到spring中(一般创建一个专门用来注入的spring配置文件,将其他的spring配置文件import进来)
<bean id="userMapper" class="com.yl.mapper.UserMapperImpl">
<property name="sqlSession" ref="sqlSession"/>
bean>
6.测试
2.方式二:SqlSessionDaoSupport
接口实现:
package com.yl.mapper;
?
import com.yl.pojo.User;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.support.SqlSessionDaoSupport;
?
import java.util.List;
?
public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper{
public List<User> selectUser() {
SqlSession sqlSession = getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
return mapper.selectUser();
//return getSqlSession().getMapper(UserMapper.class).selectUser();
}
}
配置文件:
<bean id="userMapper2" class="com.yl.mapper.UserMapperImpl2">
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
bean>