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

詳解Spring與MyBatis的整合的方法

 更新時(shí)間:2022年03月18日 11:37:22   作者:深情的大鵝  
這篇文章主要為大家詳細(xì)介紹了Spring與MyBatis的整合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

一、問(wèn)題提出

mybatis是根據(jù)mapper.xml文件動(dòng)態(tài)生成mapper接口的實(shí)現(xiàn)類(lèi),按照Spring的常規(guī)組件掃描的方式不能添加到IOC容器中,需要做出相應(yīng)的配置

二、解決方案

圖片摘自尚硅谷尚籌網(wǎng)項(xiàng)目文檔。

如圖可知,需要在Spring和mybatis整合的配置文件中配置

  • 啟動(dòng)Spring組件掃描
  • 數(shù)據(jù)源
  • SqlsessionFactoryBean
  • MapperScannerConfigurer

三、MyBatis逆向工程

pom文件

 
    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.9</version>
        </dependency>
    </dependencies>
    <!-- 控制maven在構(gòu)建過(guò)程中的配置 -->
    <build>
        <!--構(gòu)建過(guò)程中用到的插件-->
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.1</version>
                <!--插件用的依賴(lài)-->
                <dependencies>
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.4.1</version>
                    </dependency>
                    <dependency>
                        <groupId>com.mchange</groupId>
                        <artifactId>c3p0</artifactId>
                        <version>0.9.5.5</version>
                    </dependency>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.25</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!--mybatis generator:generate -->
    <context id="wdhTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!--是否去除自動(dòng)生成的注釋 true:是 ;false:否 -->
            <property name="suppressAllComments" value="ture" />
        </commentGenerator>
        <!--數(shù)據(jù)庫(kù)連接的信息:驅(qū)動(dòng)類(lèi)、連接地址、用戶(hù)名、密碼 -->
        <jdbcConnection
                driverClass="com.mysql.cj.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/mbook"
                userId="root"
                password="123456">
        </jdbcConnection>
        <!--
        默認(rèn) false,把 JDBC DECIMAL 和 NUMERIC 類(lèi)型解析為 Integer,為 true時(shí)把
        JDBC DECIMAL
        和 NUMERIC 類(lèi)型解析為 java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!--targetProject:生成 Entity類(lèi)的路徑 -->
        <javaModelGenerator targetProject=".\src\main\java"
                            targetPackage="com.wdh.entity">
            <!--enableSubPackages:是否讓 schema作為包的后綴 -->
            <property name="enableSubPackages" value="false" />
            <!--從數(shù)據(jù)庫(kù)返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!--targetProject:XxxMapper.xml映射文件生成的路徑 -->
        <sqlMapGenerator targetProject=".\src\main\java"
                         targetPackage="com.wdh.mapper">
            <!--enableSubPackages:是否讓 schema作為包的后綴 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!--targetPackage Mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetProject=".\src\main\java"
                             targetPackage="com.wdh.mapper">
            <!--enableSubPackages:是否讓 schema作為包的后綴 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 數(shù)據(jù)庫(kù)表名字和我們的 entity類(lèi)對(duì)應(yīng)的映射指定 -->
        <table tableName="login" domainObjectName="Login" />
    </context>
</generatorConfiguration>

生成結(jié)果:

 把生成的文件移動(dòng)到對(duì)應(yīng)的工程文件中

四、Spring與mybatis的配置文件

主模塊依賴(lài)jar包

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>5.3.16</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.16</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.9</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.8</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.7</version>
        </dependency>
    </dependencies>

spring-persist-mybatis.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">    <!--啟動(dòng)組件掃描-->    <context:component-scan base-package="com.wdh"/>    <!--引用jdbc.properties文件-->    <context:property-placeholder location="classpath:jdbc.properties"/>    <!--配置druid數(shù)據(jù)源-->    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">        <property name="username" value="${jdbc.username}"/>        <property name="password" value="${jdbc.password}"/>        <property name="url" value="${jdbc.url}"/>        <!--注意這里是dirverClassName-->        <property name="driverClassName" value="${jdbc.driver}"/>    </bean>    <!--配置SqlSessionFactoryBean-->    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">        <!--配置數(shù)據(jù)源-->        <property name="dataSource" ref="dataSource"/>        <!--配置mybatis-config文件位置-->        <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>        <!--配置mapper映射文件位置-->        <property name="mapperLocations" value="classpath:mybatis/mapper/*Mapper.xml"/>    </bean>    <!--配置MapperScannerConfigurer-->    <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <!--配置要掃描的包-->        <property name="basePackage" value="com.wdh.mapper"/>    </bean></beans><?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <!--啟動(dòng)組件掃描-->
    <context:component-scan base-package="com.wdh"/>
    <!--引用jdbc.properties文件-->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    <!--配置druid數(shù)據(jù)源-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="url" value="${jdbc.url}"/>
        <!--注意這里是dirverClassName-->
        <property name="driverClassName" value="${jdbc.driver}"/>
    </bean>
    <!--配置SqlSessionFactoryBean-->
    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--配置數(shù)據(jù)源-->
        <property name="dataSource" ref="dataSource"/>
        <!--配置mybatis-config文件位置-->
        <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
        <!--配置mapper映射文件位置-->
        <property name="mapperLocations" value="classpath:mybatis/mapper/*Mapper.xml"/>
    </bean>
    <!--配置MapperScannerConfigurer-->
    <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--配置要掃描的包-->
        <property name="basePackage" value="com.wdh.mapper"/>
    </bean>
</beans>

 文件目錄

五、測(cè)試

//junit與Spring整合
@RunWith(SpringJUnit4ClassRunner.class)
//加載Spring配置文件
@ContextConfiguration(locations = {"classpath:spring-persist-mybatis.xml"})
public class DataSourceTest {
    @Autowired
    private DataSource dataSource;
    @Autowired
    private LoginMapper loginMapper;
    @Test
    public void connTest() throws SQLException {
        System.out.println(dataSource.getConnection());
    }
    @Test
    public void insertTest(){
        Login login = new Login(2, "wdh", "123", false);
        int i = loginMapper.insert(login);
        System.out.println("受影響的行數(shù):"+ i);
    }
}

 結(jié)果:

六、總結(jié)

 

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容! 

相關(guān)文章

  • Java實(shí)現(xiàn)俄羅斯方塊小游戲源碼

    Java實(shí)現(xiàn)俄羅斯方塊小游戲源碼

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)俄羅斯方塊小游戲源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • SpringBoot是如何實(shí)現(xiàn)自動(dòng)配置的你知道嗎

    SpringBoot是如何實(shí)現(xiàn)自動(dòng)配置的你知道嗎

    這篇文章主要介紹了詳解SpringBoot自動(dòng)配置原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-08-08
  • Java開(kāi)發(fā)實(shí)現(xiàn)人機(jī)猜拳游戲

    Java開(kāi)發(fā)實(shí)現(xiàn)人機(jī)猜拳游戲

    這篇文章主要為大家詳細(xì)介紹了Java開(kāi)發(fā)實(shí)現(xiàn)人機(jī)猜拳游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 在spring boot中使用java線程池ExecutorService的講解

    在spring boot中使用java線程池ExecutorService的講解

    今天小編就為大家分享一篇關(guān)于在spring boot中使用java線程池ExecutorService的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • 常用的Spring Boot調(diào)用外部接口方式實(shí)現(xiàn)數(shù)據(jù)交互

    常用的Spring Boot調(diào)用外部接口方式實(shí)現(xiàn)數(shù)據(jù)交互

    Spring Boot提供了多種調(diào)用外部接口的方式,可以方便地實(shí)現(xiàn)與其他系統(tǒng)的數(shù)據(jù)交互,提高系統(tǒng)的可擴(kuò)展性和數(shù)據(jù)共享能力,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-04-04
  • java中stack(棧)的使用代碼實(shí)例

    java中stack(棧)的使用代碼實(shí)例

    這篇文章主要介紹了java中stack(棧)的使用代碼實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • 詳解spring Boot Cli的配置和使用

    詳解spring Boot Cli的配置和使用

    本篇文章主要介紹了詳解spring Boot Cli的配置和使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • java并發(fā)編程專(zhuān)題(五)----詳解(JUC)ReentrantLock

    java并發(fā)編程專(zhuān)題(五)----詳解(JUC)ReentrantLock

    這篇文章主要介紹了java(JUC)ReentrantLock的的相關(guān)資料,文中講解非常詳細(xì),實(shí)例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Java文件拒絕訪問(wèn)問(wèn)題及解決

    Java文件拒絕訪問(wèn)問(wèn)題及解決

    這篇文章主要介紹了Java文件拒絕訪問(wèn)問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • springboot?Long?精度丟失問(wèn)題解決

    springboot?Long?精度丟失問(wèn)題解決

    這篇文章主要為大家介紹了解決springboot?Long?精度丟失問(wèn)題的方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07

最新評(píng)論

东宁县| 福清市| 凤山市| 东山县| 会同县| 尼勒克县| 仙居县| 互助| 宾阳县| 正阳县| 白玉县| 元谋县| 闽清县| 威海市| 西平县| 永顺县| 万源市| 怀来县| 文安县| 甘孜| 鄂托克前旗| 什邡市| 东乡族自治县| 旬阳县| 普安县| 淮阳县| 丰都县| 政和县| 革吉县| 襄樊市| 山西省| 湘潭县| 房山区| 罗甸县| 建湖县| 莎车县| 长治县| 德昌县| 台湾省| 南安市| 大竹县|