版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/s524061267/article/details/85089296
SpingBoot 2.X 整合MyBatis
说明:本文旨在整理SpringBoot 2.X整合MyBatis基础功能,如有问题请指出
目录结构:
- 在pom.xml文件中引入MyBaties的依赖
楼主这里使用的是oracle驱动,如果你是用的是mysql,请使用下方注释掉的mysql驱动
<!-- 集成Mybatis所需依赖的包 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<!-- 如果你使用oracle,则添加以下oracle驱动 -->
<dependency>
<groupId>oracle</groupId>
<artifactId>oracle-connector-java</artifactId>
<version>10.0.1</version>
</dependency>
<!-- 如果你使用mysql,则添加以下mysql驱动
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency> -->
- 配置application.yml文件
楼主这里使用的是application.yml的配置,你也可以尝试单独写一个mybatis的配置文件
#oracle数据库配置
spring:
datasource:
url: jdbc:oracle:thin:10.0.9.172 #数据库连接地址
username: sly #数据库用户名
password: sly #数据库密码
driver-class-name: oracle.jdbc.driver.OracleDriver #数据库连接驱动
#mybatis配置
mybatis:
mapper-locations: mapper/*Mapper.xml #maaper文件映射地址
type-aliases-package: com.yihuacomputer.newyhcloud.server.entity #指定mybatis映射的实体包,这里指定后在后面的userMapper.xml里面的resultType就直接可以写实体名User
- 编写UserMapper
@Mapper
public interface UserMapper {
/**
* @Description: Description
* @Param:
* @return: User
* @Author: SLy
* @date: 2018-12-15 18:05
*/
public List<User> findAll();
}
- 配置userMapper.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">
<!-- namespace: 对应UserMapper.java文件,主要用于绑定对应的mapper接口,它的好处在于当使用了namespace之后就可以不用写接口实现类,业务逻辑会直接通过这个绑定寻找到相对应的SQL语句进行对应的数据处理
id: UserMapper.java文件里对应的findAll()方法;
resultType: 在application.yml里配置了type-aliases-package别名之后这里直接可以指定实体名,如果没有配置则需要全局包名
-->
<mapper namespace="com.yihuacomputer.newyhcloud.server.mapper.UserMapper">
<select id="findAll" resultType="User">
SELECT * FROM PUB_USER
</select>
</mapper>
- 编写Service和ServiceImpl
public interface UserService {
/**
* @Description: 查询所有
* @Param:
* @return: User
* @Author: SLy
* @date: 2018-12-15 18:05
*/
public List<User> findAll();
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> findAll() {
return userMapper.findAll();
}
}
- 编写Controller
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/userList")
public List<User> findAll() {
return userService.findAll();
}
- 启动项目运行
启动:http://localhost:8766/userList