1. 程式人生 > >SpringBoot入門筆記10——springboot配置檔案整合mytatis

SpringBoot入門筆記10——springboot配置檔案整合mytatis

Springboot使用配置檔案的方式來整合mybatis

mybatis 有兩種使用方式,一種是配置檔案xml的方式來進行使用,springboot整合mybatis,註解的方式簡化 了這種方式,前面已經講過了springboot如何通過註解的方式來增刪改查,接下來,我們試一下使用配置檔案的方式來進行增刪改查的操作入門。

這裡先不詳細講解mybatis 的使用,只是介紹springboot 如何使用xml方式來進行操作,因為複雜的操作springboot已經替我們做了,如果我們還是寫複雜了,那就不用springboot了。

springboot 整合mytais 步驟 --配置篇

1、新增mybatis 依賴

2、資料庫配置

3、mapper的配置檔案

4、編寫mapper類和對映檔案

1、新增mytatis依賴

  <!-- 引入第三方資料來源 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.6</version>
        </
dependency
>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <
groupId
>
org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> </dependency>

2、資料庫配置

最簡單的直接在application.properties配置檔案中宣告 資料庫的地址 使用者名稱密碼等,還可以設定其他連線屬性,這裡就不說了

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://localhost:3306/movie?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=112233

以上配置好就可以連線資料庫進行操作了

3、Mapper 的配置檔案

xml方式使用mybatis,需要在application.properties中宣告兩個配置屬性,例如:

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

mybatis.mapper-locations 表示mapper類對映的xml的位置,不然你寫的那些sql都找不到,怎麼使用

mybatis.config-location表示mybatis的配置檔案

以上配置如下結構:

mark

簡單的目錄結構是這樣的。和之前我們用註解的方式沒什麼區別,springboot使用配置檔案只是service層或者是mapper層不一樣。

首先,我們建立了UserMapper,這個介面類,裡面聲明瞭一些操作資料庫的方法,然後再我們配置檔案中mybatis.mapper-locations指定的位置建立相應的xml檔案,然後裡面編寫 sql語句操作資料,進行對映。

mybatis-config.xml 是配置mybatis的配置檔案,比如:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
		PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
		"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"/>
	</settings>
</configuration>

這個可以去官方文件複製,然後改一改裡面的 就好,上面的配置表示的是,mybatis 忽略大小寫,避免駝峰命名法和資料庫欄位大小寫不一致。

4、編寫mapper類和對映xml檔案

比如UserMapper.class ,一個最簡單的方法

public interface UserMapper {

    /**
     * 查詢所有使用者
     * @return
     */
    public List<User> getAll();

}

然後,編寫相應的xml對映檔案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">
<mapper namespace="com.mybatis.mapper.UserMapper">
    
    <select id="getAll" resultType="com.mybatis.domain.User">
   		 select * from user
    </select>
</mapper>

這裡只是一個簡單的例項,使用起來也很簡單。

namespace 表示當前xml是對映的那個mapper類,後面要跟上全類名

然後是增刪改查,,,,

使用方法都差不多,就是先宣告這個操作標籤,比如

<select id="getAll" resultType="com.mybatis.domain.User">
   		 //id 表示mapper類中的方法,getAll()方法
   		 // resultType 是這個方法的返回值型別,返回物件或者集合時,表明類的全類名。
</select>

最後再 標籤中編寫sql語句,

 select * from user  //這是一個簡單的例項 
 
 當然還有很多複雜的,和註解方式一樣,也是用#{},#{} 的這種方式去一一對應資料庫和實體類
 

5、新增@mapper註解或者使用@mapperScan的方式,讓springboot掃描到mapper類

這一步操作什麼時候都行,這裡放到最後重點提醒,

@SpringBootApplication
@MapperScan("com.mybatis.mapper")
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class,args);
    }
}

比如,在啟動類裡面,加入@mapperScan註解,指明所有的mapper,這樣只寫一次就可以了。

小結:

本篇只是記錄了下springboot的xml使用方式,

重點:

1、application.properties 配置檔案中宣告位置

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

2、把原來解除安裝mapper類中的註解 sql語句,寫到 xml的配置檔案中

3、namespace select等標籤的意思要熟悉, 至於對映的全類名和 方法名就可以了

詳細的內容由於時間原因,不想寫了,因為官方文件都有,忘記了就去官方文件找

http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html