搭建Spring Boot + Mysql + MyBatis 项目

idea 可直接创建相应的项目及配置

核心

配置pom.xml

<dependencies>
    <!--驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.38</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>common</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.1.1</version>
    </dependency>
    <!--数据源-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.0.26</version>
    </dependency>

    <!--自动生成代码-->
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.5</version>
    </dependency>
</dependencies>

创建表

DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
  `name` varchar(255) DEFAULT NULL COMMENT '名称',
  `age` int(11) DEFAULT NULL COMMENT '年龄',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

配置文件

<?xml version="1.0" encoding="UTF-8"?>
<context id="DB2Tables" targetRuntime="MyBatis3">

    <commentGenerator>
        <!-- 是否去除自动生成的注释 true:是: false:否 -->
        <property name="suppressAllComments" value="true"/>
    </commentGenerator>
    <!-- jdbcConnection:指定如何连接到目标数据库 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                    connectionURL="jdbc:mysql://192.168.0.122:3306/ian_test"
                    userId="root"
                    password="root">
    </jdbcConnection>

    <!--  类型解析-->
    <javaTypeResolver>
        <property name="forceBigDecimals" value="false"/>
    </javaTypeResolver>

    <javaModelGenerator targetPackage="com.example.common.models.user" targetProject="common/src/main/java">
        <property name="enableSubPackages" value="false"/>
        <!-- 从数据库返回的值被清理前后的空格 -->
        <property name="trimStrings" value="true"/>
    </javaModelGenerator>

    <!-- targetProject:mapper映射文件生成的位置 -->
    <sqlMapGenerator targetPackage="mapper" targetProject="provider-user/src/main/resources">
        <!-- enableSubPackages:是否让schema作为包的后缀 -->
        <property name="enableSubPackages" value="false"/>
    </sqlMapGenerator>

    <!-- javaClientGenerator:指定mapper接口所在的位置 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.provideruser.repository"
                         targetProject="provider-user/src/main/java">
        <!-- enableSubPackages:是否让schema作为包的后缀 -->
        <property name="enableSubPackages" value="true"/>
    </javaClientGenerator>

    <!-- 指定要逆向分析哪些表:根据表要创建javaBean domainObjectName:指定生成实体类的名称 -->
    <table tableName="user_info" domainObjectName="UserInfo"></table>

</context>

生成文件

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**

  • @User: D·Ian GHQ

  • @Date: 2018/10/23 0023

  • @Email: [email protected]
    */
    public class MybatisGenerateUtil {

    public static void main(String[] args) throws Exception {
    List warnings = new ArrayList();
    // 根据配置文件生成相应的实体类、mapper文件
    Configuration config = new ConfigurationParser(warnings).parseConfiguration(new File("_database/mybatis-generate-user.xml"));
    new MyBatisGenerator(config, new DefaultShellCallback(true), warnings).generate(null);
    }

}

结果

实体类
自动生成实体类、Mapper、Mapper.xml文件

mapper
自动生成实体类、Mapper、Mapper.xml文件

mapper.xml
自动生成实体类、Mapper、Mapper.xml文件

项目结构

自动生成实体类、Mapper、Mapper.xml文件

相关文章: