最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot多模塊化整合mybatis,mapper自動注入失敗問題及解決

 更新時間:2022年01月14日 10:03:46   作者:Kevinten10  
這篇文章主要介紹了springboot多模塊化整合mybatis,mapper自動注入失敗問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

springboot多模塊化整合mybatis,mapper自動注入失敗

問題

啟動類添加@MapperScan或@ComponentScan,mapper類添加@Mapper或@Repository

==> Consider defining a bean of type 'com.ten.mapper.UserMapper' in your configuration.

Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required in spring mock mvc test for spring boot with mybatis

解決

手動裝配dataSource

啟動類:

package com.ten; 
import com.alibaba.druid.pool.DruidDataSource;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component; 
import javax.sql.DataSource;
 
@SpringBootApplication
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
@MapperScan("com.ten.mapper")
class LcWebApplication {
    public static void main(String[] args) {
        SpringApplication.run(LcWebApplication.class, args);
    }
 
    @Autowired
    private Environment env;
 
    //destroy-method="close"的作用是當數(shù)據(jù)庫連接不使用的時候,就把該連接重新放到數(shù)據(jù)池中,方便下次使用調(diào)用.
    @Bean
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(env.getProperty("spring.datasource.url"));
        dataSource.setUsername(env.getProperty("spring.datasource.username"));//用戶名
        dataSource.setPassword(env.getProperty("spring.datasource.password"));//密碼
        dataSource.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
        dataSource.setInitialSize(2);//初始化時建立物理連接的個數(shù)
        dataSource.setMaxActive(20);//最大連接池數(shù)量
        dataSource.setMinIdle(0);//最小連接池數(shù)量
        dataSource.setMaxWait(60000);//獲取連接時最大等待時間,單位毫秒。
        dataSource.setValidationQuery("SELECT 1");//用來檢測連接是否有效的sql
        dataSource.setTestOnBorrow(false);//申請連接時執(zhí)行validationQuery檢測連接是否有效
        dataSource.setTestWhileIdle(true);//建議配置為true,不影響性能,并且保證安全性。
        dataSource.setPoolPreparedStatements(false);//是否緩存preparedStatement,也就是PSCache
        return dataSource;
    } 
}

啟動類配置文件:

spring:
    datasource:
        name: test
        url: jdbc:mysql://localhost:3306/db
        username: root
        password: root
        # 使用druid數(shù)據(jù)源
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.jdbc.Driver
        filters: stat
        maxActive: 20
        initialSize: 1
        maxWait: 60000
        minIdle: 1
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: select 'x'
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxOpenPreparedStatements: 20 
 
mybatis:
  mapperLocations: classpath*:mapper/*.xml
  typeAliasesPackage: com.ten.entity

啟動類依賴

 <!--web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--rest-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>

DAO類

@Repository
public interface UserMapper {
    String getTest(String test);
}

DAO類依賴

<!-- mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>

目錄結(jié)構(gòu):

springboot mapper注入失敗的一種原因

今天啟動項目報錯----mapper注入失敗。細細查找一番發(fā)現(xiàn)是時間類型的問題。

具體情況是

數(shù)據(jù)庫有個字段的類型是datetime,但是實體類里的類型我寫成了LocalDateTime,結(jié)果當然是jdbctype對不上,導(dǎo)致mapper注入不進去。

解決辦法

實體類型定義成Date。

LocalDateTime其實是一種時間轉(zhuǎn)換工具,不要定義為實體的類型。 實體類是時間的話,類型一般是Date或者timestamp。 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中關(guān)于字典樹的算法實現(xiàn)

    Java中關(guān)于字典樹的算法實現(xiàn)

    字典樹,又稱單詞查找樹,Trie樹,是一種樹形結(jié)構(gòu),哈希表的一個變種。用于統(tǒng)計,排序和保存大量的字符串,本文針對字典樹給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值
    2021-09-09
  • 詳解Spring Boot配置文件application.properties

    詳解Spring Boot配置文件application.properties

    在本文中我們給大家整理了關(guān)于Spring Boot 的配置文件 application.properties的相關(guān)知識點內(nèi)容,需要的朋友們參考學(xué)習(xí)下。
    2019-06-06
  • Java注解詳解之@Override注解

    Java注解詳解之@Override注解

    這篇文章主要給大家介紹了關(guān)于Java注解之@Override注解的相關(guān)資料,@Override是Java中的一個注解,表示一個方法是重寫(Override)了父類中的方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • Java編程—在測試中考慮多態(tài)

    Java編程—在測試中考慮多態(tài)

    這篇文章主要介紹了Java編程—在測試中考慮多態(tài),具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Java編譯錯誤信息提示java.lang.ExceptionInInitializer解決

    Java編譯錯誤信息提示java.lang.ExceptionInInitializer解決

    這篇文章主要介紹了Java編譯錯誤信息提示java.lang.ExceptionInInitializer的分析講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Java中常見對象映射工具的使用詳解

    Java中常見對象映射工具的使用詳解

    對象映射是 Java 開發(fā)中的重要環(huán)節(jié),尤其在處理數(shù)據(jù)轉(zhuǎn)換時,就需要將一種結(jié)構(gòu)的數(shù)據(jù)轉(zhuǎn)換為另一種結(jié)構(gòu)的數(shù)據(jù)(例如 DTO 和 Entity 之間),在這篇博客中,我們將認識并解析幾種常用的對象映射工具,并提供詳細樣例,需要的朋友可以參考下
    2025-03-03
  • Java中常用的類型轉(zhuǎn)換(推薦)

    Java中常用的類型轉(zhuǎn)換(推薦)

    這篇文章主要介紹了Java中常用的類型轉(zhuǎn)換(推薦)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • spring基于注解配置實現(xiàn)事務(wù)控制操作

    spring基于注解配置實現(xiàn)事務(wù)控制操作

    這篇文章主要介紹了spring基于注解配置實現(xiàn)事務(wù)控制操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java設(shè)計模式的策略模式簡析

    Java設(shè)計模式的策略模式簡析

    這篇文章主要介紹了Java設(shè)計模式的策略模式簡析,策略模式中定義了一系列的算法族,算法族指的是類似于一系列的行為、策略,策略模式將一系列的行為封裝成類,既可以說是將每一種相類似的行為都封裝成一個類,也有可能存在特殊的不進行封裝的行為,需要的朋友可以參考下
    2023-12-12
  • Java?方法(方法的定義,可變參數(shù),參數(shù)的傳遞問題,方法重載,方法簽名)

    Java?方法(方法的定義,可變參數(shù),參數(shù)的傳遞問題,方法重載,方法簽名)

    這篇文章主要介紹了Java?方法(方法的定義,可變參數(shù),參數(shù)的傳遞問題,方法重載,方法簽名),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-09-09

最新評論

阿合奇县| 安阳市| 平乐县| 图们市| 枣阳市| 长兴县| 会宁县| 南丹县| 景东| 武宣县| 佛冈县| 东乌| 西乌珠穆沁旗| 高尔夫| 五寨县| 清涧县| 香格里拉县| 渝北区| 长治县| 固阳县| 凌源市| 汾西县| 汝阳县| 舞阳县| 苍山县| 大宁县| 苍溪县| 仁化县| 邵武市| 沁水县| 岑巩县| 腾冲县| 大邑县| 伊金霍洛旗| 长汀县| 卓尼县| 班玛县| 临湘市| 旬邑县| 丽水市| 黄龙县|