Spring整合Mybatis保姆教程

  • 打開idea

  • 新建maven項目

  • 導入所需要的pom.xml資源

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       
        <!--集中定義項目中依賴的版本號 druid數據庫連接池-->
        <druid.version>1.1.10</druid.version>
        <junit.version>4.12</junit.version>
        <spring.version>4.3.7.RELEASE</spring.version>
        <!---mybatis的依賴-->
        <mybatis.version>3.4.5</mybatis.version>
        <!--MyBatis和Spring整合的專用包-->
        <mybatis.spring.version>1.3.0</mybatis.spring.version>
        <mysql.version>5.1.38</mysql.version>
        <slf4j.version>1.6.4</slf4j.version>
        <commons-lang3.version>3.3.2</commons-lang3.version>
        <commons-io.version>1.3.2</commons-io.version>
    </properties>
    <dependencies>

        <!--SSM的依賴-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>

        <!-- 單元測試 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>


        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>${spring.version}</version>
        </dependency>
        
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- Mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
        </dependency>

        <!--Spring和MyBatis整合包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>${mybatis.spring.version}</version>
        </dependency>

        <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <!-- Apache工具組件 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons-lang3.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>${commons-io.version}</version>
        </dependency>

    </dependencies>
    
     <build>
        <!--編譯的時候同時也把包下面的xml同時編譯進去-->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
  • 新建resources資源文件夾的

    1. applicationContext.xml
    2. jdbc.properties
    3. log4j.properites
      applicationContext.xml的創(chuàng)建
 <!--在applicationContext.xml里寫-->
    <!--掃描包,注解-->
    <context:component-scan base-package="com.*"/>
<!--    加載數據庫文件-->
    <context:property-placeholder location="classpath:jdbc.properties"/>
<!--    配置連接池-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="driverClassName" value="${jdbc.driver}"></property>
    </bean>

<!--用于連接數據庫的-->
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///book
jdbc.username=root
jdbc.password=123456
 log4J日志框架的配置文件 文件名字不能改
# DEBUG 表示日志的級別  調試
# Console 日志打印在控制臺
log4j.rootLogger=INFO, Console 
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n  

# 哪些日志需要打印
log4j.logger.java.sql.ResultSet=INFO  
log4j.logger.org.apache=INFO  
log4j.logger.java.sql.Connection=DEBUG  
log4j.logger.java.sql.Statement=DEBUG  
log4j.logger.java.sql.PreparedStatement=DEBUG 
  • 在兩個Java文件夾下面創(chuàng)建包和test

image.png
  • 鏈接數據庫

點擊右方的Database選擇MySql

鏈接數據庫,不能錯
  • 生成實體類

放到我們的com.pojo文件夾

除了id改為int,其他的都改為String類型的

然后給實體類生成toString
  • 在mapper文件夾下創(chuàng)建BookMapper接口BookMapper.xml

<!--這是BookMapper.xml的配置-->
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.BookMapper">
</mapper>
  • 回到applicationContext.xml在原先的基礎上加上

<!--配置Mybatis的SqlSessionFacotry 獲取工廠類-->
    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

        <property name="dataSource" ref="dataSource"></property>
        <!--            指定mapper映射文件的位置-->
        <property name="mapperLocations" value="classpath:com/mapper/*.xml"></property>

    </bean>
    <!--給mapper接口層使用spring自動生成實現類對象    -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.mapper"></property>
    </bean>
  • 在service層創(chuàng)建BookService接口和impl包下的BookServiceImpl實現類

image.png
  • 回到BookMapper接口BookMapper.xml做查全部操作

BookMapper接口

BookMapper.xml
  • BookService接口BookServiceImpl進行操作

BookService接口

BookServiceImpl
  • 寫測試類test

test
  • 大功告成

image.png
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容