1 Star 0 Fork 1

魏心雨(蓦然)/springboot-mybatis-example

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

springboot-mybatis-example

项目介绍

springboot-mybatis-example是基于Spring Boot与Mybatis相结合的脚手架项目,并采用了第三方开源项目通用Mapper通用Mapper可以极大的方便开发人员。 可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。极其方便的使用MyBatis单表的增删改查。支持单表操作,不支持通用的多表联合查询,对于多表 联合查询可以用Mybatis原生的sql实现。让你可以快速搭建SpringBoot + Mybatis项目的框架。

软件架构

  • 核心框架:Spring Boot 2.1.2.RELEASE

  • 持久层框架:Mybatis Spring Boot 1.3.1 + Mapper Spring Boot 2.0.4

MyBatis 通用 Mapper4

安装教程

  1. git clone git@gitee.com:vanguardd/springboot-mybatis-example.git 克隆本项目到本地
  2. 推荐使用IntelliJ IDEA以MAVEN方式导入本项目
  3. 导入sql文件夹中的sql到本地数据库
  4. 修改resources中application-dev.yml中的数据库用户名和密码
  5. 运行SpringBootMybatisApplication中的main方法即可运行本项目

项目依赖

    <!--mybatis-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.1</version>
    </dependency>
    <!--mapper-->
    <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper-spring-boot-starter</artifactId>
        <version>2.0.4</version>
    </dependency>
    <!--pagehelper-->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.3</version>
    </dependency>

使用说明

集成 MyBatis Generator

Mybatis Geneator 详解:

http://blog.csdn.net/isea533/article/details/42102297

  • 添加依赖--MAVEN插件
    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.2</version>
        <configuration>
            <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
            <overwrite>true</overwrite>
            <verbose>true</verbose>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-generator</artifactId>
                <version>1.0.0</version>
            </dependency>
        </dependencies>
    </plugin>
  • 配置通用代码生成配置

generator/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>
    
        <!-- 引入配置文件 -->
        <properties resource="mybatisGeneratorinit.properties"/>
    
        <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
            <property name="beginningDelimiter" value="`"/>
            <property name="endingDelimiter" value="`"/>
    
            <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
                <property name="mappers" value="com.vanguard.commons.base.BaseMapper"/>
            </plugin>
    
            <!-- jdbc连接 -->
            <jdbcConnection driverClass="${jdbc_driver}"
                            connectionURL="${jdbc_url}"
                            userId="${jdbc_user}"
                            password="${jdbc_password}">
                            
                            
            <!--MySQL 8.x 需要指定服务器的时区-->
            <property name="serverTimezone" value="UTC"/>
            <!--MySQL 不支持 schema 或者 catalog 所以需要添加这个 只生成指定数据库表代码-->
            <!--参考 : http://www.mybatis.org/generator/usage/mysql.html-->
            <property name="nullCatalogMeansCurrent" value="true"/>
            
            </jdbcConnection>
    
            <!-- 生成实体类地址 -->
            <javaModelGenerator targetPackage="com.vanguard.domain" targetProject="src/main/java"/>
    
            <!-- 生成Mapper xml文件 -->
            <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
    
            <!-- 生成Mapper xml对应Mapper接口 -->
            <javaClientGenerator targetPackage="com.vanguard.mapper" targetProject="src/main/java"
                                 type="XMLMAPPER"/>
    
            <!-- table可以有多个,每个数据库中的表都可以写一个table,tableName表示要匹配的数据库表,
            也可以在tableName属性中通过使用%通配符来匹配所有数据库表,只有匹配的表才会自动生成文件 -->
            <table tableName="tb_user" domainObjectName="User">
                <!-- 数据库表主键 -->
                <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
            </table>
    
        </context>
    </generatorConfiguration>
  • 运行插件使用命令:

    mvn mybatis-generator:generate

当控制台如图显示build success时,代表生成代码成功:

build Success

如下图,对应目录可看到生成的代码:

生成代码成功

Mapper和Mybatis的配置

application.yml

mybatis:
      type-aliases-package: com.vanguard.domain
      #Mybatis的Mapper配置文件路径
      mapper-locations: classpath:mapper/*.xml 
      configuration:
        #开启驼峰式属性和字段映射
        mapUnderscoreToCamelCase: true
        #打印运行的SQL语句到控制台
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

mapper:
    mappers:
        #指定Mapper的BaseMapper的路径
        - com.vanguard.commons.base.BaseMapper
    notEmpty: true
    identity: MYSQL
    before: false

#分页组件配置
pagehelper:
    helperDialect: mysql
    reasonable: true
    supportMethodsArguments: true
    params: count=countSql

指定Mapper接口路径

Spring Boot入口类加入MapperScan注解指定Mapper接口的路径

SpringBootMybatisApplication.java

Mapper注解

以上操作完成后,就可以完美的写代码了,对于Mybatis的增、删、改、查操作的代码,都不用在写了,我们以后可以更好的写业务层代码了。
因为Mapper对于Mybatis的一些基本的增删改查都做了封装,我们只需要调用就可以了!

空文件

简介

springboot-mybatis-example是基于Spring Boot和Mybatis相结合的脚手架项目 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/weixinyu6/springboot-mybatis-example.git
git@gitee.com:weixinyu6/springboot-mybatis-example.git
weixinyu6
springboot-mybatis-example
springboot-mybatis-example
master

搜索帮助