zoukankan      html  css  js  c++  java
  • 使用通用 Mapper 依据数据表生成实体类

    使用 mappergenerator 可以很方便生成实体类,Mapper 接口以及对应的 XML 文件,不再手写。

    以下使用 Spring bootMySQL 以及 tk.mybatis

    设计数据表

    该 tabple_emp 表中有 4 个字段

    CREATE TABLE `tabple_emp` (
      `emp_id` int(11) NOT NULL AUTO_INCREMENT,
      `emp_name` varchar(500) DEFAULT NULL,
      `emp_salary` double(15,5) DEFAULT NULL,
      `emp_age` int(11) DEFAULT NULL,
      PRIMARY KEY (`emp_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8
    

    创建 SpringBoot 项目并引入tk.mybatis

    以下是部分依赖,主要是引入了 tk.mybatis,与配置代码生成器

     <dependencies>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.1.1</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <!-- 引入依赖 -->
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper</artifactId>
                <version>4.1.5</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                    </configuration>
                </plugin>
                <!-- 生成器的配置 -->
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.6</version>
                    <configuration>
                    	<!-- 生成器所需的配置文件路径 -->
                        <configurationFile>
                            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>5.1.29</version>
                        </dependency>
                        <dependency>
                            <groupId>tk.mybatis</groupId>
                            <artifactId>mapper</artifactId>
                            <version>4.0.0</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    </project>
    

    配置 generatorConfig.xmlconfig.properties

    在上面 pom.xml 中设置的目录中,放置以下文件

    generatorConfig.xml

    该配置文件指定了将要生成的 modelmapper,与 mapper xml 的存放路径

    <!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="config.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="tk.mybatis.mapper.common.Mapper"/>
                <property name="caseSensitive" value="true"/>
            </plugin>
    
            <jdbcConnection driverClass="${jdbc.driverClass}"
                            connectionURL="${jdbc.url}"
                            userId="${jdbc.user}"
                            password="${jdbc.password}">
            </jdbcConnection>
    
            <javaModelGenerator targetPackage="cn.duniqb.mappermbg.model"
                                targetProject="src/main/java"/>
    
            <sqlMapGenerator targetPackage="mapper"
                             targetProject="src/main/resources"/>
    
            <javaClientGenerator targetPackage="cn.duniqb.mappermbg.mapper"
                                 targetProject="src/main/java"
                                 type="XMLMAPPER"/>
    
    		<!-- 数据库中数据表的名字 -->
            <table tableName="tabple_emp">
                <generatedKey column="id" sqlStatement="JDBC"/>
            </table>
        </context>
    </generatorConfiguration>
    
    config.properties

    该配置文件指定了数据库的连接属性

    # Database connection information
    jdbc.driverClass=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://192.168.71.136:3306/test?useUnicode=true&characterEncoding=utf8
    jdbc.user=root
    jdbc.password=root
    #c3p0
    jdbc.maxPoolSize=50
    jdbc.minPoolSize=10
    jdbc.maxStatements=100
    jdbc.testConnection=true
    # mapper
    mapper.plugin=tk.mybatis.mapper.generator.MapperPlugin
    mapper.Mapper=tk.mybatis.mapper.common.Mapper
    

    开始生成

    单击 Maven 窗口的 mybatis-generator:generate 即可运行生成出目标代码。
    在这里插入图片描述

    没有修不好的电脑
  • 相关阅读:
    水平拖拽滚动条
    垂直拖拽滚动条
    网页特效_拖拽案例
    js实现倒计时
    权限控制
    Eclipse 项目有红感叹号
    JBPM简单介绍
    开博有感
    各种正则表达式
    Python中读取目录里的文件并按排序列出
  • 原文地址:https://www.cnblogs.com/duniqb/p/12702431.html
Copyright © 2011-2022 走看看