1. 程式人生 > >學習springboot筆記(四)資料訪問之mybatis

學習springboot筆記(四)資料訪問之mybatis

整合mybatis首先在pom.xml檔案中引入mybatis依賴

<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>1.3.2</version>
</dependency>

建立如下目錄結構 在這裡插入圖片描述 mybatis-config.xml是mybatis的配置檔案,這個是必須有的,在這裡我們沒有什麼特殊的配置,只在這個檔案裡寫個檔案頭和標籤就行了,userNewMapper.xml就是我們要用到的寫SQL的mapper檔案了 然後要使這兩個檔案生效,在springboot的配置檔案application.yml檔案中增加如下配置:

mybatis:
  config-location: classpath:mybatis/mybatis-config.xml
  mapper-locations: classpath:mybatis/mapper/*.xml

要注意mybatis:這一行是跟spring:是平級的,不要帶縮排 整合部分到此基本上就是完成了,接下來我們來寫一些代買來驗證一下 首先我們先建立一張user表,表裡有id和name兩個欄位 然後我們建立一個實體類,程式碼如下:

public class User {
    private Integer id;
    private String name;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

然後我們寫一個操作資料庫的dao層介面:

@Mapper
public interface UserXmlMapper {

    public User getUserById(Integer id);

    public void insertUser(User user);
}

不能忘了要加上@Mapper 然後新增userNewMapper.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.aiguigu.springboot.mapper.UserXmlMapper">
    <select id="getUserById" resultType="com.aiguigu.springboot.bean.User">
        select * from user where id = #{id}
    </select>

    <insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO USER (NAME )VALUES (#{name})
    </insert>
</mapper>

這裡解釋一下useGeneratedKeys這個引數,這個引數只在insert時生效,預設值為false,當置為true的時候,表示插入資料時,以自增欄位為主鍵的時候,JDBC會自動生成主鍵,並將值返回,keyProperty就是表明哪個欄位是主鍵了 接下來我們寫一個controller,並將UserXmlMapper 注入

@RestController
public class UserController {
    @Autowired
    private UserXmlMapper userXmlMapper;

    @GetMapping("/userXml")
    public User getXMLUser(Integer id){

        return userXmlMapper.getUserById(id);
    }

    @GetMapping("/insertUser")
    public User insertXMLUser(User user){
        userXmlMapper.insertUser(user);
        return user;
    }
}

我們開啟瀏覽器,在位址列輸入insertUser請求,帶一個name引數,然後按回車,可以看到瀏覽器顯示出了返回的user資訊 在這裡插入圖片描述 接下來我們試一下查詢 在位址列輸入userXml請求,帶一個引數id,值是7,然後按回車,可以看到瀏覽器返回的查詢結果 在這裡插入圖片描述

以上就是springboot整合mybatis的過程,過程也是很簡單的