javascript
Spring Boot与MyBatis整合
2019獨角獸企業重金招聘Python工程師標準>>>
?
數據庫以MySQL為例
IDE:spring?tool?suite
1. 新建項目
????file -> new -> Spring Starter Project
????填寫項目名稱,直接next,最后finish。
2. 更改pom.xml
????添加如下依賴:
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.2.0</version> </dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.27</version> </dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId> </dependency>3. 更改配置文件
?? ?配置文件使用的yml格式
spring:datasource:name: ebusurl: jdbc:mysql://localhost:3306/test?autoReconnect=true&useSSL=falseusername: rootpassword: root# 使用druid數據源type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Drivermybatis:type-aliases-package: com.lty.ebus.model#如果不是在Mapper里直接寫sql語句,而是在xml里寫,需要指定XML文件路徑#mapper-locations: classpath:mapping/*.xmllogging:level:root: WARNcom:lantaiyuan:ebus:mapper: TRACE配置文件使用properties
#主配置文件,配置了這個會優先讀取里面的屬性覆蓋主配置文件的屬性 spring.profiles.active=dev spring.application.name=user# 應用自定義配置 logging.config=classpath:logback.xml# mysql spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSource #spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource #初始化連接大小 spring.datasource.druid.initial-size=8#最小空閑連接數 spring.datasource.druid.min-idle=5 #最大連接數 spring.datasource.druid.max-active=10 #查詢超時時間 spring.datasource.druid.query-timeout=6000 #事務查詢超時時間 spring.datasource.druid.transaction-query-timeout=6000 #關閉空閑連接超時時間 spring.datasource.druid.remove-abandoned-timeout=1800# REDIS (RedisProperties) # Redis數據庫索引(默認為0) spring.redis.database=0 # Redis服務器地址 spring.redis.host=10.1.10.80 # Redis服務器連接端口 spring.redis.port=6379 # Redis服務器連接密碼(默認為空) spring.redis.password= # 連接池最大連接數(使用負值表示沒有限制) spring.redis.pool.max-active=8 # 連接池最大阻塞等待時間(使用負值表示沒有限制) spring.redis.pool.max-wait=-1 # 連接池中的最大空閑連接 spring.redis.pool.max-idle=8 # 連接池中的最小空閑連接 spring.redis.pool.min-idle=0 # 連接超時時間(毫秒) spring.redis.timeout=0#mybatis mybatis.mapper-locations=classpath:mapping/*.xml注意: type-aliases-package配置項。
4. 新建Model和Mapper
model:
public class City {private int id;private String name;private int state;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getState() {return state;}public void setState(int state) {this.state = state;}}mapper(需要使用@Mapper注解):?
@Mapper public interface CityMapper {@Select("select * from city where state = #{state}")City findByState(@Param("state") int state);/*** 如果不是在Mapper中寫sql語句,這里直接寫方法即可。* City findByState(@Param("state") int state);*/}5. 新建Spring boot application
@SpringBootApplication public class SampleMapperApplication implements CommandLineRunner {public static void main(String[] args) {SpringApplication.run(SampleMapperApplication.class, args);}final private CityMapper cityMapper;public SampleMapperApplication(CityMapper cityMapper) {this.cityMapper = cityMapper;}@Overridepublic void run(String... args) throws Exception {System.out.println(this.cityMapper.findByState(1).getName());}}6. 右鍵run as -> Spring Boot App
? ? 運行結果如下:
7. 補充說明
其一:
項目目錄結構如下:
SampleMapperApplication.java與mapper的位置需注意,不然mapper有可能注入失敗。
其二:
yml配置MySQL連接時,加上autoReconnect=true&useSSL=false
url: jdbc:mysql://localhost:3306/test?autoReconnect=true&useSSL=false如果不加上,會有如下警告:
WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
加上后,不再有警告,此處參考Stack overflow。
其三:
第一次使用Spring boot,能快速整合成功,還參考了mybatis-spring-boot-autoconfigure和Spring Boot 集成MyBatis。
轉載于:https://my.oschina.net/u/3149614/blog/860199
總結
以上是生活随笔為你收集整理的Spring Boot与MyBatis整合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS——过渡
- 下一篇: 主成分分析(PCA)和独立成分分析(IC