基於SpringBoot 2.X整合MyBatis
阿新 • • 發佈:2018-12-20
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