Spring Boot入门系列八(SpringBoot 整合Mybatis…
2018-07-16 02:38:59来源:博客园 阅读 ()
SpringBoot 整合Mybatis
由于之前都是使用Hibernate的,所以研究SpringBoot 整合Mybatis这部分内容花费了一定的时间,做完这个小例子,对Mybatis的理解也有了一定的提升。
一、Mybatis简介
Mybatis是一款优秀的持久层框架,支持定制化SQL、存储过程和高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
二、在pom.xml中引入Mybatis依赖
SpringBoot要整合Mybatis,首先需要在pom.xml中引入Mybatis的依赖,具体代码如下:
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>

三、在application.properties中添加Mybatis的配置信息
添加Mybatis的配置信息,主要是将Mapper资源文件的存放路径和Dao接口文件的存放目录配置到项目中,让项目可以找到对应的文件。配置信息如下所示:
############################################################ # # mybatis配置 # ############################################################ mybatis.mapper-locations=classpath:/mappers/*Mapper.xml mybatis.type-aliases-package=com.oyc.jdbcdemo.dao

四、建立Dao接口和Mapper文件,实现与数据库的关联
根据步骤三配置的信息,我们先在com.oyc.jdbcdemo.dao中建立OyUserDao.java,具体代码如下:
/**
* 用户dao接口,Mybatis接口
*/
@Mapper
public interface OyUserDao {
/**
* 获取用户列表接口
* @return
*/
List<OyUser> getUserList();
/**
* 根据用户姓名获取用户信息
* @param name
* @return
*/
OyUser getUserByName(@Param("name")String name);
}
然后再classpath:/mappers/中建立与OyUserDao相对应的OyUserMapper.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.oyc.jdbcdemo.dao.OyUserDao" >
<resultMap id="OyUser" type="com.oyc.jdbcdemo.entity.OyUser">
<id column="id" property="id" jdbcType="VARCHAR"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="age" property="age" jdbcType="VARCHAR"/>
<result column="sex" property="sex" jdbcType="VARCHAR"/>
</resultMap>
<select id="getUserByName" resultMap="OyUser" parameterType="String">
select * from oy_user u
<where>
u.name = #{name}
</where>
</select>
<select id="getUserList" resultMap="OyUser" parameterType="String">
select * from oy_user
</select>
</mapper>

五、OyUser服务类及其实现类的创建
用户服务类接口:OyUserService.java
/**
* @author oyc
* @Title:
* @Description:用户服务类接口
* @date 2018/7/1414:06
*/
public interface OyUserService {
//获取用户列表
List<OyUser> getUserList();
//根据用户名称获取用户详情信息
OyUser getUserByName(String name);
}

用户服务类接口的实现:OyUserServiceImpl.java
/**
* @author oyc
* @Title:
* @Description:
* @date 2018/7/1414:09
*/
@Service
public class OyUserServiceImpl implements OyUserService {
@Resource
private OyUserDao oyUserDao;
@Override
public List<OyUser> getUserList() {
return oyUserDao.getUserList();
}
@Override
public OyUser getUserByName(String name) {
return oyUserDao.getUserByName(name);
}
}

六、用户控制类
OyUserController.java,注入OyUserService,使用服务类OyUserService去调用dao实现对数据库的操作。
/**
* @author oyc
* @Description:用户控制类
* @date 2018/7/14 14:11
*/
@Controller
@RequestMapping("/user")
public class OyUserController {
@Autowired
private OyUserService oyUserService;
/**
* 获取用户列表信息
*/
@RequestMapping("/list")
public String userList(Model map){
List<OyUser> userList = oyUserService.getUserList();
map.addAttribute("users", userList);
return "user";
}
/**
* 根据用户名获取用户详情信息
* @return
*/
@RequestMapping("/byname")
public String userByName(Model map){
OyUser user = oyUserService.getUserByName("oyc");
map.addAttribute("users", user);
return "user";
}
}
七.测试结果

git:https://github.com/oycyqr/springjdbcdemo
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:web.xml 组件加载顺序
- Spring系列.ApplicationContext接口 2020-06-11
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- 给你一份超详细 Spring Boot 知识清单 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
- 掌握SpringBoot-2.3的容器探针:实战篇 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash

