1. 程式人生 > >基於SpringBoot 2.X整合MyBatis

基於SpringBoot 2.X整合MyBatis

SpingBoot 2.X 整合MyBatis

說明:本文旨在整理SpringBoot 2.X整合MyBatis基礎功能,如有問題請指出


目錄結構:
在這裡插入圖片描述

  1. 在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> -->
  1. 配置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
  1. 編寫UserMapper
@Mapper
public interface UserMapper {
  /**
   * @Description: Description
   * @Param:
   * @return: User
   * @Author: SLy
   * @date: 2018-12-15 18:05
   */
  public List<User> findAll();
}
  1. 配置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>
  1. 編寫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();
    }
}
  1. 編寫Controller
@RestController
public class UserController {

  @Autowired
  private UserService userService;
  
  @RequestMapping("/userList")
  public List<User> findAll() {
      return userService.findAll();
  }

  1. 啟動專案執行
    啟動:http://localhost:8766/userList
    在這裡插入圖片描述