1.首先,spring boot 配置mybatis需要的全部依賴如下:
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設、大興網(wǎng)絡推廣、成都微信小程序、大興網(wǎng)絡營銷、大興企業(yè)策劃、大興品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供大興建站搭建服務,24小時服務熱線:18982081108,官方網(wǎng)址:m.newbst.com
<!-- Spring Boot 啟動父依賴 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.1.RELEASE</version> </parent> <!-- spring boot 項目啟動必須引入的web依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.5.1.RELEASE</version> </dependency> <!-- Spring Boot Mybatis 依賴 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.2.0</version> </dependency> <!-- oracle的數(shù)據(jù)庫驅動包 --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.4.0-atlassian-hosted</version> </dependency>
這里主要說一下上邊的數(shù)據(jù)庫驅動包,oracle和MySQL引入不同的依賴,千萬不要忘記。如果忘記引入,會報找不到驅動類異常。
2.然后,在application.properties 配置文件里添加如下內(nèi)容:
##數(shù)據(jù)庫連接信息 spring.datasource.url=jdbc:oracle:thin:@//192.168.1.171:1521/orcl spring.datasource.username=znxd spring.datasource.password=znxd spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver ##指向mapper的xml文件位置 mybatis.mapper-locations=classpath:mapper/*Mapper.xml
上邊以spring.datasource 開頭的內(nèi)容其實有很多,具體,在application.properties 文件里輸入后看看能點出的內(nèi)容就知道了。
springboot默認會把spring.datasource開頭的信息收納,進行DataSource對象的配置,進而進行sqlSessionFactory的配置等相關數(shù)據(jù)庫連接的配置,所以其他很多人會說寫什么配置類,那些我感覺沒有必要的。(配置druid需要配一個@Bean,下一篇會說到)
當然如果是特別詳細的,而在application.properties文件里又通過spring.datasource 點不出相關的配置,那可能需要配置類什么的。
mybatis.mapper-locations 所指向的位置是從src/main/resource開始的,前邊需要加上classpath,它指向的是你的mapper.xml文件放置的位置。
3.我是mybatis通過數(shù)據(jù)庫表逆向工程生成的實體類、mapper等,先把項目具體的放置結構貼出來如下:
對于上圖的解釋如下:
啟動類必須放在項目中相對其他類的最高處,前邊文章說過,spring boot沒有傳統(tǒng)的spring 項目配置的<bean> 標簽,它掃描bean的方式就是從啟動類依次向下掃描進默認的內(nèi)置tomcat容器的。
上圖service放置的位置比其實現(xiàn)類放置的位置高,如果有兩個service A和B,實現(xiàn)類里有Aimpl和Bimpl,如果有Aimpl調(diào)用B的情況,有可能會在啟動容器報“a field named ‘B' not found”貌似這種錯誤,說明容器掃描順序有誤。
這種情況的最好的解決辦法,就應該像我將service放在高處,容器啟動先掃描進service,然后再掃描impl,這樣在實現(xiàn)類掃描的時候就肯定能找到service,也就不會出現(xiàn)這種錯誤了。
另一種解決辦法是在引入service時多添加一個注解:@Lazy
@Autowired @Lazy //這樣就會延遲加載,上圖不需要,這里只是解釋這注解 LogsUserActiveMapper logsUserActiveMapper;
總之,如果出現(xiàn)調(diào)用與被調(diào)用關系,一定要記得,被調(diào)用者要首先被掃描進spring boot內(nèi)置容器,也就是被調(diào)用者的包位置要放的較高一些(位置至少也待相平)。
3.service實現(xiàn)類上需要加一個@Service 注解。這個可能不需要,我一直沒有試試。
4.spring boot+mybatis除了這些要求,還需要在啟動類處添加一個注解@MapperScan,如下:
package cloud.kafka; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.transaction.annotation.EnableTransactionManagement; @SpringBootApplication @EnableTransactionManagement //如果mybatis中service實現(xiàn)類中加入事務注解,需要此處添加該注解 @MapperScan("cloud.kafka.mapper") //掃描的是mapper.xml中namespace指向值的包位置 public class KafkaLogApplication { public static void main(String[] args){ SpringApplication.run(KafkaLogApplication.class, args); } }
如下是我的mapper.xml里namespace的值
<mapper namespace="cloud.kafka.mapper.LogsUserActiveMapper" >
這樣就完成mybatis的配置了,下一篇會說spring boot+mybatis事務配置、druid配置、分頁插件配置。
以上所述是小編給大家介紹的Spring Boot 與 mybatis配置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!
本文名稱:SpringBoot與mybatis配置方法
瀏覽地址:http://m.newbst.com/article28/iigdjp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、云服務器、App開發(fā)、Google、移動網(wǎng)站建設、電子商務
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)