zoukankan      html  css  js  c++  java
  • Spring Boot Mybatis

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

    我们如何在 Spring Boot 的项目中使用 Mybatis ?

    Spring Boot 项目中集成 Mybatis


    首先在我们的 pom 文件中添加以下依赖库

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
    ​
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.1</version>
            </dependency>
    


    我们添加了 mysql 驱动 和 mybatis 的 spring-boot-starter 可以很方便的让我们在 Spring Boot 中使用 mybatis

    resources 文件下创建一个 mybatis 文件,用来存放 Mybatis 的配置文件,和 Mapper 文件。

    配置文件名:
    mybatis-config.xml
    具体的一些配置项,请参考 mybatis 文档

    存放 mapper 文件的文件夹:
    mapper

    在全局配置文件中添加 mybatis 的配置

    #mybatis
    mybatis:
      config-locations: classpath:mybatis/mybatis-config.xml
      mapper-locations: classpath:mybatis/mapper/*.xml
      type-aliases-package: net.dowhile.demo.entity
    


    在启动类中添加下边注解,用来扫描到 mapper 文件

    @MapperScan("net.dowhile.dao")

    配置数据源


    我们这里呢使用号称最快的数据库连接池 HikariCP

    我在使用 Spring Boot 2.0 m7 版本的时候,已经默认集成了 HikariCP。可以参考iss

    如果你还没有集成的话,可以在 pom 中 加入以下依赖

        <dependency>  
            <groupId>com.zaxxer</groupId>  
            <artifactId>HikariCP</artifactId>  
        </dependency> 
    


    版本你选择最新的版本就可以了。

    spring:
          datasource:
        url: jdbc:mysql://localhost:3306/lianzheng?useUnicode=true&characterEncoding=utf-8&useSSL=false
        username: root
        password: ***
        driver-class-name: com.mysql.jdbc.Driver
    

    MyBatis Generator


    mybatis-generator-maven-plugin mvn 仓库地址

                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.5</version>
                    <configuration>
                        <verbose>true</verbose>
                        <overwrite>true</overwrite>
                    </configuration>
                </plugin>
    


    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>
        <!--指定数据库驱动-->
        <classPathEntry location="C:Usersyangxiaolei.m2
    epositorymysqlmysql-connector-java5.1.44mysql-connector-java-5.1.44.jar" />
        <!--指定数据库地址,数据库用户名和密码-->
        <context id="DB2Tables" targetRuntime="MyBatis3">
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/lianzheng"
                            userId="root"
                            password="xiaoLei123">
            </jdbcConnection>
    ​
            <javaTypeResolver >
                <property name="forceBigDecimals" value="false" />
            </javaTypeResolver>
            <!--指定生产的Model类的存放位置-->
            <javaModelGenerator targetPackage="com.sxlq.lianzheng.Entity" targetProject="src/main/java">
                <!--是否支持子包-->
                <property name="enableSubPackages" value="true" />
                <!--对String 进行操作时,会添加 trim()方法进行处理-->
                <property name="trimStrings" value="true" />
            </javaModelGenerator>
            <!--生成的映射配置文件的存放位置-->
            <sqlMapGenerator targetPackage="mybatis.mapper"  targetProject="src/main/resources">
                <property name="enableSubPackages" value="true" />
            </sqlMapGenerator>
            <!--生成的DAO类存放位置-->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.sxlq.lianzheng.dao"  targetProject="src/main/java">
                <property name="enableSubPackages" value="true" />
            </javaClientGenerator>
    ​
            <table schema="lianzheng"
                   tableName="leaderinformation"
                   domainObjectName="Leader" enableCountByExample="false"
                   enableDeleteByExample="false" enableSelectByExample="false"
                   enableUpdateByExample="false">
    ​
    ​
            </table>
    ​
        </context>
    </generatorConfiguration>
    
  • 相关阅读:
    PHP 使用 GET 传递数组变量
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
  • 原文地址:https://www.cnblogs.com/dowhile/p/Spring-Boot-Mybatis.html
Copyright © 2011-2022 走看看