介绍:
本文介绍 Spring 整合 Mybatis, 前置条件: Spring+SpringMVC+Mybatis+Maven.
Spring 和 Maven 的相关知识可以参考上一篇文章: 利用 Maven 和 SpringMvc 搭建 javaweb 工程.
目的
实现查询系统 Banner 图列表
步骤
1, 添加 pom.xml 依赖 (本文采用 1.3 版本, 采用 2.0 版本的可能不同)
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis-spring</artifactId>
- <version>1.3.2</version>
- </dependency>
2, 修改 SpringXML 配置文件, 添加以下内容, 具体路径需要根据各自项目配置.
- <!-- 创建一个 sql 会话工厂 bean, 指定数据源 -->
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
- <property name="dataSource" ref="datasource" /><!-- 指定数据源 -->
- <!-- 类型别名包, 默认引入 bean 下的所有类 -->
- <property name="typeAliasesPackage" value="com.bean"/>
- <!-- 指定 sql 映射 xml 文件的路径 -->
- <property name="mapperLocations" value="classpath:com/mapper/*.xml"/>
- </bean>
- <!-- 自动扫描映射接口 -->
- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <!-- 指定 sql 会话工厂, 在上面配置过的 -->
- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
- <!-- 指定基础包, 即自动扫描 com.mapper 这个包以及它的子包下的所有映射接口类 -->
- <property name="basePackage" value="com.mapper"/>
- </bean>
3, 增加 BannerMapper.xml.
<?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.mapper.BannerMapper">
- <select id="list" resultType="BannerEntity">
- select * from sys_banner
- </select>
- </mapper>
4, 增加 BannerMapper 接口类
- package com.mapper;
- import com.bean.BannerEntity;
- import javax.annotation.Resource;
- import java.util.List;
- @Resource
- public interface BannerMapper {
- List<BannerEntity> list();
- }
5, 增加 BannerService 接口类
- package com.service;
- import com.bean.BannerEntity;
- import java.util.List;
- public interface BannerService {
- List<BannerEntity> list();
- }
6, 增加 BannerServiceImpl 接口实现类
- package com.service;
- import com.bean.BannerEntity;
- import com.mapper.BannerMapper;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.List;
- @Service("bannerService")
- public class BannerServiceImpl implements BannerService {
- @Autowired
- private BannerMapper bannerMapper;
- public List<BannerEntity> list(){
- return bannerMapper.list();
- }
- }
7,BannerController 类中新增方法
- //Banner 图列表
- @RequestMapping("/bannerList_test.do")
- @ResponseBody
- public JsonResult<BannerEntity> bannerList_test() {
- List<BannerEntity> res = bannerService.list();
- JsonResult<BannerEntity> result=new JsonResult<>();
- result.setList(res);
- return result;
- }
8, 新增 BannerEntity 实体类
- @Data
- public class BannerEntity {
- private String id;
- private String img_base64;
- private String sort;
- private String content;
- private String web_url;
- }
测试
请求该方法返回值如下:
返回 JSON 结果
至此, Spring 整合 Mybatis 成功, 数据请求正确!
总结: 本文介绍了 Mybatis 整合到 Spring. 其中涉及 SpringMvc,Maven 等其他知识需自行学习.
下一篇计划整合 MybatisPlus 框架, 提升 Mybatis 开发效率, 如有疑问和建议, 欢迎回复交流!
来源: http://www.jianshu.com/p/6d830db5530d