
项目结构Mybatis层准备
1. 导入pom依赖2. 编写com.kuang.pojo实体类User3. 在com.kuang.mapper包下,编写UserMapper接口、UserMapper.xml4. resources包下,编写mybatis-config.xml Sping5整合MyBatis的步骤
0. 需要导入mybatis-spring的pom依赖1. 引入Spring配置文件beans.xml2. 配置数据源ataSource,替换mybaits的数据源3. 配置SqlSessionFactory,关联MyBatis4. 注册sqlSessionTemplate,关联sqlSessionFactory;5. 增加UserMapper接口的实现类UserMapperImpl;私有化sqlSessionTemplate6. 还是在beans.xml中,注册bean实现7. 测试,并得到结果 整合实现二:使用SqlSessionDaoSupport
1. 整合实现二项目结构2. 修改一:编写UserMapperImpl23. 修改二:修改beans.xml的配置4. 测试代码一样,进行测试
项目结构
所用数据库为2mybatis_first
Mybatis层准备 1. 导入pom依赖
1.8 1.8 UTF-8 UTF-8 4.12 1.18.10 1.2 1.1.2 2.5 2.0 junit junit${junit.version} org.projectlombok lombok${lombok.version} jstl jstl${jstl.version} taglibs standard${standard.version} javax.servlet servlet-api${servlet-api.version} provided javax.servlet jsp-api${jsp-api.version} provided org.mybatis mybatis3.5.4 mysql mysql-connector-java8.0.12 org.springframework spring-webmvc5.1.10.RELEASE org.springframework spring-jdbc5.1.10.RELEASE org.aspectj aspectjweaver1.9.4 org.mybatis mybatis-spring2.0.2 src/main/java ***.xml false src/main/resources ***.xml false
2. 编写com.kuang.pojo实体类User
@Data
public class User {
private int id; //id
private String name; //姓名
private String pwd; //密码
}
3. 在com.kuang.mapper包下,编写UserMapper接口、UserMapper.xml
UserMapper接口:
public interface UserMapper {
public List selectUser();
}
UserMapper.xml:
要注意namespace下的包名
4. resources包下,编写mybatis-config.xml
Sping5整合MyBatis的步骤 0. 需要导入mybatis-spring的pom依赖
什么是 MyBatis-Spring?
MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。
知识基础
在开始使用 MyBatis-Spring 之前,你需要先熟悉 Spring 和 MyBatis 这两个框架和有关它们的术语。这很重要
MyBatis-Spring 需要以下版本:
org.mybatis mybatis-spring2.0.2
1. 引入Spring配置文件beans.xml
2. 配置数据源ataSource,替换mybaits的数据源
第三方数据源有:c3p0 dbcp druid
这里使用spring的数据源dataSource替换Mybatis的配置 【需要导入pom包:spring-jdbc】
3. 配置SqlSessionFactory,关联MyBatis
在 MyBatis-Spring 中,可使用SqlSessionFactoryBean来创建 SqlSessionFactory
4. 注册sqlSessionTemplate,关联sqlSessionFactory;
SqlSessionTemplate 是 MyBatis-Spring 的核心。作为 SqlSession 的一个实现,这意味着可以使用它无缝代替你代码中已经在使用的 SqlSession
5. 增加UserMapper接口的实现类UserMapperImpl;私有化sqlSessionTemplate
根据上一步,可知此时的sqlSessionTemplate相当于:在Mybatis上的已经在使用的 SqlSession
public class UserMapperImpl implements UserMapper {
//sqlSession不用我们自己创建了,Spring来管理
private SqlSessionTemplate sqlSession;
public void setSqlSession(SqlSessionTemplate sqlSession) {
this.sqlSession = sqlSession;
}
public List selectUser() {
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
return mapper.selectUser();
}
}
6. 还是在beans.xml中,注册bean实现
7. 测试,并得到结果
@Test
public void test2(){
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
UserMapper mapper = (UserMapper) context.getBean("userMapper");
List user = mapper.selectUser();
System.out.println(user);
}
结果成功输出!现在我们的Mybatis配置文件的状态!发现都可以被Spring整合!
整合实现二:使用SqlSessionDaoSupport
mybatis-spring1.2.3版以上的才有这个 。
SqlSessionDaoSupport是一个抽象的支持类,用来为你提供sqlsession。
调用getsqlsession()方法你会得到一个SglSessionTemplate,之后可以用于执行SQL方法
2. 修改一:编写UserMapperImpl2
public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper {
public List selectUser() {
UserMapper mapper = getSqlSession().getMapper(UserMapper.class);
return mapper.selectUser();
}
}
3. 修改二:修改beans.xml的配置
4. 测试代码一样,进行测试
@Test
public void test2(){
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
UserMapper mapper = (UserMapper) context.getBean("userDao");
List user = mapper.selectUser();
System.out.println(user);
}
输出结果
总结 : 整合到spring以后可以完全不要mybatis的配置文件,除了这些方式可以实现整合之外,我们还可以使用注解来实现,这个等我们后面学习SpringBoot的时候还会测试整合!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)