欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Boot 與 mybatis配置方法

 更新時間:2017年06月07日 10:32:54   作者:JAVA碼上飄  
這篇文章主要介紹了Spring Boot 與 mybatis配置方法,需要的朋友可以參考下

1.首先,spring boot 配置mybatis需要的全部依賴如下:

<!-- 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ù)庫驅(qū)動包 -->
<dependency>
  <groupId>com.oracle</groupId>
  <artifactId>ojdbc6</artifactId>
  <version>11.2.0.4.0-atlassian-hosted</version>
</dependency>

這里主要說一下上邊的數(shù)據(jù)庫驅(qū)動包,oracle和mysql引入不同的依賴,千萬不要忘記。如果忘記引入,會報找不到驅(qū)動類異常。

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的配置等相關(guān)數(shù)據(jù)庫連接的配置,所以其他很多人會說寫什么配置類,那些我感覺沒有必要的。(配置druid需要配一個@Bean,下一篇會說到)

當然如果是特別詳細的,而在application.properties文件里又通過spring.datasource 點不出相關(guān)的配置,那可能需要配置類什么的。

  mybatis.mapper-locations 所指向的位置是從src/main/resource開始的,前邊需要加上classpath,它指向的是你的mapper.xml文件放置的位置。

3.我是mybatis通過數(shù)據(jù)庫表逆向工程生成的實體類、mapper等,先把項目具體的放置結(jié)構(gòu)貼出來如下:

這里寫圖片描述

對于上圖的解釋如下:

啟動類必須放在項目中相對其他類的最高處,前邊文章說過,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”貌似這種錯誤,說明容器掃描順序有誤。

這種情況的最好的解決辦法,就應(yīng)該像我將service放在高處,容器啟動先掃描進service,然后再掃描impl,這樣在實現(xiàn)類掃描的時候就肯定能找到service,也就不會出現(xiàn)這種錯誤了。

另一種解決辦法是在引入service時多添加一個注解:@Lazy

@Autowired 
@Lazy //這樣就會延遲加載,上圖不需要,這里只是解釋這注解 
LogsUserActiveMapper logsUserActiveMapper;

總之,如果出現(xiàn)調(diào)用與被調(diào)用關(guān)系,一定要記得,被調(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)類中加入事務(wù)注解,需要此處添加該注解
@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事務(wù)配置、druid配置、分頁插件配置。

以上所述是小編給大家介紹的Spring Boot 與 mybatis配置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • SpringBoot結(jié)合Redis配置工具類實現(xiàn)動態(tài)切換庫

    SpringBoot結(jié)合Redis配置工具類實現(xiàn)動態(tài)切換庫

    本文主要介紹了SpringBoot結(jié)合Redis配置工具類實現(xiàn)動態(tài)切換庫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Java設(shè)計模式之代理模式

    Java設(shè)計模式之代理模式

    這篇文章介紹了Java設(shè)計模式之代理模式,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • Java后端接入微信小程序?qū)崿F(xiàn)登錄功能

    Java后端接入微信小程序?qū)崿F(xiàn)登錄功能

    這篇文章主要介紹了Java如何在后端接入微信小程序從而實現(xiàn)登錄功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-06-06
  • 一文讀懂Spring中@Bean注解的核心作用

    一文讀懂Spring中@Bean注解的核心作用

    快速了解Spring框架中的@Bean注解?本文將帶你一鍵掌握其核心作用!只需一篇短文,揭示@Bean注解如何在Spring中定義bean實例,以及管理和裝配Bean的奧秘,閱讀指南,讓Spring開發(fā)更加得心應(yīng)手!
    2024-01-01
  • SpringBoot中創(chuàng)建bean的7種方式總結(jié)

    SpringBoot中創(chuàng)建bean的7種方式總結(jié)

    Spring是一款廣泛應(yīng)用于企業(yè)級應(yīng)用程序開發(fā)的Java框架,其 IOC 和 DI 特性可以有效地管理應(yīng)用程序中的對象,提高了應(yīng)用程序的可維護性和可擴展性,那你知道spring有哪些方式將bean放入容器嘛,今天就給大家總結(jié)一下
    2023-07-07
  • Kotlin與Java 泛型缺陷和應(yīng)用場景詳解

    Kotlin與Java 泛型缺陷和應(yīng)用場景詳解

    這篇文章主要為大家介紹了Kotlin與Java 泛型缺陷和應(yīng)用場景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • SpringMVC+EasyUI實現(xiàn)頁面左側(cè)導航菜單功能

    SpringMVC+EasyUI實現(xiàn)頁面左側(cè)導航菜單功能

    這篇文章主要介紹了SpringMVC+EasyUI實現(xiàn)頁面左側(cè)導航菜單功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 一篇文章帶你了解JavaSE的數(shù)據(jù)類型

    一篇文章帶你了解JavaSE的數(shù)據(jù)類型

    這篇文章主要給大家介紹了關(guān)于JavaSE的數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2021-09-09
  • java中DelayQueue實例用法詳解

    java中DelayQueue實例用法詳解

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于java中DelayQueue實例用法詳解內(nèi)容,有需要的朋友們可以跟著學習下。
    2021-01-01
  • java數(shù)據(jù)結(jié)構(gòu)ArrayList詳解

    java數(shù)據(jù)結(jié)構(gòu)ArrayList詳解

    本文詳細講解了java數(shù)據(jù)結(jié)構(gòu)ArrayList的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12

最新評論