springboot整合mybatis+oracle
第一步
認識springboot :springboot是為了解決配置檔案多,各個元件不統一的問題,它省去了很多配置檔案,同時實現了spring產品的整合。
建立springboot專案:通過選擇springinit初始化springboot,我們發現它的pom.xml擁有絕大部分的spring所需要的包。
第二步
開啟專案的結構,發現有了有趣的部分
在原有的java結構上,公司名稱下多了一級叫做自己的專案名的一個目錄,這個目錄下才是相應的Controlller等層,而且在此目錄下面有了一個檔案,此檔案可以作為主函式的入口,相同的是再整合mybatis時,我們仍然將dao層改為Mapper層,而且這裡只定義介面。
往下看,在resources的目錄下,有com,lib,static,templates,views資料夾,以及一個springboot最為主要的一個配置檔案。
介紹一下這些資料夾或者檔案的作用:
com 下是和上面java下的目錄結構一樣,不多隻有一個Mapper資料夾和一個config資料夾,mapper裡放對應介面的xml檔案來提供sql語句,config資料夾放的是修改過的mybatis-config.xml配置檔案.
lib 裡面放一些新增的jar包
static 裡面放的是靜
態的檔案css,js,img之類
templates 未知...
views放我們的頁面
第三步
匯入jar包
我們只需要匯入需要的jar包,關於spring產品的jar包springboot幫我們安排好了,我們大概需要這些jar包。
<!--oracle jar包--> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.1.0.6.0</version> <scope>system</scope> <systemPath>${basedir}/src/main/resources/lib/ojdbc6-11.1.0.6.0.jar</systemPath> </dependency> <!--mysql jar包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <!--springboot和mybatis結合的jar包--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> <!--fastjson包--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> <!--springboot模板--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!--日誌--> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.10.0</version> </dependency> <!--使用不嚴格的頁面標籤--> <!-- https://mvnrepository.com/artifact/net.sourceforge.nekohtml/nekohtml --> <dependency> <groupId>net.sourceforge.nekohtml</groupId> <artifactId>nekohtml</artifactId> <version>1.9.22</version> </dependency>
配置配置檔案
application.properties檔案
#spring.datasource.platform=mysql #spring.datasource.url=jdbc:mysql://localhost/mydb #spring.datasource.username=root #spring.datasource.password=hnqy #spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.platform=oracle spring.datasource.url=jdbc:oracle:thin:@localhost:1521/orcl spring.datasource.username=scott spring.datasource.password=tiger spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver server.port=8080 server.session-timeout=30 server.tomcat.uri-encoding=UTF-8 #####springboot 整合 mybatis mybatis.mapper-locations= classpath:/com/qy/springboot01/mapper/*Mapper.xml mybatis.config-location= classpath:/com/qy/springboot01/mapper/config/mybatis-config.xml #####定義別名 #####mybatis.type-aliases-package=com.qy.springboot01.domain #-----------------------日誌------------------------------ #啟用除錯日誌。 #debug = true #啟用跟蹤日誌。 #trace = true #LOGGING #日誌配置檔案的位置。例如,Logback的`classpath:logback.xml`。 #logging.config = #記錄異常時使用的轉換字。 #logging.exception-conversion-word =%wEx #名稱可以是確切的位置或相對於當前目錄。 #logging.file = #? #要保留的歸檔日誌檔案的最大數量。僅支援預設的登入設定。 #logging.file.max-history = 0 #最大日誌檔案大小。僅支援預設的登入設定。 #logging.file.max-size = 10MB #日誌級別嚴重性對映。例如`logging.level.org.springframework = DEBUG`。 #logging.level.* = #日誌檔案的位置。例如,`/ var #logging.path = #-------------------------模板------------------------------ ###Thymeleaf配置 spring.thymeleaf.prefix=classpath:/view/ spring.thymeleaf.suffix=.html spring.thymeleaf.cache=false spring.thymeleaf.encoding=UTF-8 spring.thymeleaf.mode=LEGACYHTML5 ###過濾中文亂碼 spring.http.encoding.force=true spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true
配置mybatis-config配置檔案
<?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="cacheEnabled" value="false"/> <!--下劃線和駝峰式命名法的匹配 --> <setting name="mapUnderscoreToCamelCase" value="true"/> <!--使用啟用懶載入機制 true啟用--> <setting name="lazyLoadingEnabled" value="true"/> <!--配置myabtis日誌--> <setting name="logImpl" value="LOG4J2"/> <setting name="multipleResultSetsEnabled" value="true"/> <setting name="useColumnLabel" value="true"/> <setting name="useGeneratedKeys" value="true"/> <setting name="autoMappingBehavior" value="PARTIAL"/> <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/> <setting name="defaultExecutorType" value="SIMPLE"/> <setting name="defaultStatementTimeout" value="25"/> <setting name="defaultFetchSize" value="100"/> <setting name="safeRowBoundsEnabled" value="false"/> <setting name="localCacheScope" value="SESSION"/> <setting name="jdbcTypeForNull" value="OTHER"/> <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/> </settings> <typeAliases> <!--給類起別名--> <!--給包中所有的類起別名 預設名字為類名 --> <package name=""></package> </typeAliases> </configuration>
第四步
但是我們的springboot所需要的確是@Controller
2.service層註解沒有變化
但在Mapper層我們要寫上@Mapper和@conment兩個註解
3.我們不需要tomcat,應為springboot內建了tomcat,而且啟動的很快
4.在配置檔案裡的細節自己去深究吧。
5.這裡只是簡單的介紹,具體實操還需要自己去熟悉。
6.還有,config資料夾在mapper下面。。。