Spring Boot整合Mybatis學習
1.整合JDBC和基本資料來源
1)前提要匯入依賴
2)application.xml配置檔案
spring:
datasource:
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost/jpa
#預設使用資料來源為Tomcat的資料來源org.mysql.tomcat.jdbc.pool.DataSource
資料來源的相關配置都在DataSourceProperties裡面
自動配置原理DataSourceConfiguration包含配置
3)自動建表
以這種方式命名的sql檔案會通過DataSourceInitailzer自動建表
schema-*.sql,data-*.sql
自定義建表的sql檔名稱
spring:
datasource:
schema:
-classpath:depa.sql
-classpath:depa2.sql
#可以指定多個sql檔案
4)自動配置了JdbcTemplate操作資料庫
public classHelloController{ @AutoWired JdbcTemplate jdbcTemplate; @ResponseBody @GetMapping("/query") public Map<String, Object> map(){ List<Map<String, Object>> list = jdbcTemplate.queryForList("select * from department"); return list.get(0); } }
2.配置Bruid資料來源
1)application.yml
DataSourceProperties中沒有initialSize以及後面的配置,所以要建立一個配置類
2)DruidConfig.java
@Configuration public class DruidConfig{ @ConfigurationProperties(prefix = "spring.datasource") //將以spring.datasource為字首的所有屬性繫結進來 @Bean //將該配置類載入到容器中 public DataSource druid(){ return new DruidDataSource(); } //配置Druid的監控 //1.配置一個管理後臺的servlet //2.配置一個監控的filter }
目前使用預設資料來源
3.整合Mybatis
1)引入依賴
2)註解模式
@mapper(mapper對映檔案上的註釋)或者@mapperScann(springboot執行類上的註釋)
通過mapper對映介面自行編寫sql
直接將sql語句寫在對應的方法上
可以將mapper檔案中的@mapper省略掉,在執行類裡面添加註解
@MapperScan(Value = "com.hello.mapper") 自動掃描指定包中的mapper對映類
@Options(userGeneratedKeys = true, keyProperty = "id") 表示將插入的資料設定自增主鍵
通過@org.springframework.context.annotation.Configuration指定配置檔案
通過配置類開啟駝峰命名法
MybatisConfig.java
//表示這是一個配置類
@org.springframework.context.annotation.Configuration
public class MybatisConfig{
//ConfigurationCustomizer 該類可以自己指制定配置
@Bean
public ConfigurationCustomizer configurationCustomizer(){
return new ConfigurationCustomizer(){
@Override
public void customize(Configuration configuration){
configuration.setMapUnderscoreToCamelCase(true);
}
};
}
}
3)配置檔案模式
通過配置檔案指定mybatis配置檔案位置以及對映檔案位置
application.yml
mybatis:
config-location: classpath:mybatis-config.xml 指定全域性配置檔案位置
mapper-location: classpath: classpath:mybatis/mapper/*.xml 指定對映檔案的位置
通過xml配置檔案開啟駝峰命名法
mybatis-config.xml
<configuration>
<settings>
<setting name = "mapUnderscoreToCamelCase" value = "true">
<settings>
<configuration>
4.遺留問題
通過配置類來對mybatis配置進行設定,程式如何識別該配置類就是mybatis的配置
通過mapper來編寫sql語句時,如何進行動態sql的編寫
//todo
5.注意問題
application.xml配置檔案
username: root
username後面有空格。