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>
    
  • 相关阅读:
    【推荐】iOS汉字转拼音第三方库
    iOS实现图像素描效果
    iOS实现图像的反色,怀旧,色彩直方图效果
    iOS实现图像指定区域模糊
    iOS 9.2新增API
    讲讲我的开发生涯
    iOS第三方类库汇总【持续更新】
    美图秀秀-美化图片之【背景虚化】界面设计
    美图秀秀-美化图片之【特效】界面设计
    iOS二十种超酷时尚艺术滤镜汇总【附源码】
  • 原文地址:https://www.cnblogs.com/dowhile/p/Spring-Boot-Mybatis.html
Copyright © 2011-2022 走看看