项目结构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 ListselectUser(); }
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 ListselectUser() { 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"); Listuser = 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 List3. 修改二:修改beans.xml的配置selectUser() { UserMapper mapper = getSqlSession().getMapper(UserMapper.class); return mapper.selectUser(); } }
4. 测试代码一样,进行测试
@Test public void test2(){ ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); UserMapper mapper = (UserMapper) context.getBean("userDao"); Listuser = mapper.selectUser(); System.out.println(user); }
输出结果
总结 : 整合到spring以后可以完全不要mybatis的配置文件,除了这些方式可以实现整合之外,我们还可以使用注解来实现,这个等我们后面学习SpringBoot的时候还会测试整合!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)