1. 程式人生 > >Spring Boot整合Mybatis學習

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後面有空格。