ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql+mybatis+generator整合

2022-04-21 01:32:18  阅读:167  来源: 互联网

标签:COMMENT varchar generator DEFAULT boot mysql mybatis org NULL


在ORM框架中经常使用mybatis+generator来实现快速逆向生成代码,如下使用mysql数据库简单记录下

1.创建maven工程并选择jdk

2.在pom中添加引入

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>springcloud-demo-project</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>mybatisGenerator-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <dependencies>
        <!--注入web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.3.5.RELEASE</version>
        </dependency>
        <!--注入lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.14</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>3.0.3</version>
            <exclusions>
                <exclusion>
                    <artifactId>swagger-annotations</artifactId>
                    <groupId>io.swagger</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <artifactId>swagger-annotations</artifactId>
            <groupId>io.swagger</groupId>
            <version>1.5.22</version>
        </dependency>

        <!-- 加载mysql驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.18</version>
        </dependency>
        <!-- 加载jdbc连接数据库 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <version>2.3.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!-- 分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.10</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.4.0</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.3.7.RELEASE</version>
            </plugin>
            <!--generator插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>

                <dependencies>
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.3.7</version>
                    </dependency>

                    <!--对mysql解析 可省略 -->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.46</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

3.配置文件中添加数据库配置

server:
  port: 8080

spring:
  datasource:
    name: mysql
    url: jdbc:mysql://127.0.0.1:3306/devdatabase
    username: devuser
    password: admin

mybatis:
  mapper-locations: classpath:mapping/*.xml  #注意resources文件夹下目录层级使用"/"而不是"."
  type-aliases-package: com.mybatisgeneratordemo.entity  # 注意:对应实体类的路径

4.在配置文件夹resources创建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>
    <!-- 数据库驱动位置(本地mybatis-generator-core包的位置) -->
    <classPathEntry location="D:\repository\org\mybatis\generator\mybatis-generator-core\1.3.7\mybatis-generator-core-1.3.7.jar"/>

    <context id="context" targetRuntime="MyBatis3Simple">
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>
        <!-- 数据库的url、用户名、密码 -->
        <jdbcConnection userId="root" password="root" driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/devdatabase"/>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成模型的包名和位置 -->
        <javaModelGenerator targetPackage="com.mybatisgeneratordemo.entity" targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成的映射文件包名和位置 -->
        <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置 -->
        <javaClientGenerator targetPackage="com.mybatisgeneratordemo.mapper" type="XMLMAPPER" targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>
        <!-- 生成那些表 tableName表名,domainObjectName应于数据库表的javaBean类名-->
        <table schema="BuyrUser" tableName="buyr_user" enableCountByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" enableUpdateByExample="false"/>
    </context>
</generatorConfiguration>

 5.创建数据库表:

CREATE TABLE `buyr_user` (
`USER_ID` bigint(19) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`USER_NAME` varchar(90) NOT NULL COMMENT '用户名称',
`NICK_NAME` varchar(90) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '用户昵称',
`USER_INTRO` varchar(300) DEFAULT NULL COMMENT '个性签名',
`AVATAR` varchar(1000) DEFAULT NULL COMMENT '头像图片',
`EMAIL` varchar(255) DEFAULT NULL COMMENT '邮件地址',
`PHONE` varchar(255) DEFAULT NULL COMMENT '手机号',
`USER_PASS` varchar(255) DEFAULT NULL COMMENT '密码',
`PASS_SALT` varchar(255) DEFAULT NULL COMMENT '密码盐',
`USER_STATUS` varchar(32) DEFAULT '1' COMMENT '用户状态',
`USER_SCORE` int(11) DEFAULT NULL COMMENT '用户打分',
`TOTAL_COST_AMT` decimal(24,6) DEFAULT NULL COMMENT '累计消费金额',
`LAST_LOGIN_TIME` timestamp NULL DEFAULT NULL COMMENT '最后登录时间',
`REVISION` int(11) DEFAULT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人',
`CREATED_TIME` timestamp NULL DEFAULT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人',
`UPDATED_TIME` timestamp NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`USER_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='买家';

6.maven工具窗点击并运行mybatis-generator:generate

运行窗展示 BUILD SUCCESS 并自动生成个对应文件, 同时注意修改实体中主键id的类型为String,防止Long长度过长前端数据进度丢失;

项目结构如下:

 

标签:COMMENT,varchar,generator,DEFAULT,boot,mysql,mybatis,org,NULL
来源: https://www.cnblogs.com/chencoolandclear/p/16171930.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有