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的配置檔案
以上配置如下結構:
簡單的目錄結構是這樣的。和之前我們用註解的方式沒什麼區別,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
等標籤的意思要熟悉, 至於對映的全類名和 方法名就可以了
詳細的內容由於時間原因,不想寫了,因為官方文件都有,忘記了就去官方文件找