mybatis generator 自动生成代码(带注释的实体类)

使用前提:

当你开发的java 项目或新模块的数据库有N张表操作时,这时要自己写实体类、dao、SqlMapper.xml等文件,如果有多个表,就是造成时间浪费降低开发效率,所以建议使用mybatis generator 自动生成工具。可以自动帮助你生成java实体类、dao、mapper.xml等。

第一步:环境配置和pom.xml文件

pom文件中加入jar的引入

       
        
            org.mybatis.generator
            mybatis-generator-core
            1.3.5
        

第二步:新建mybatis-generator.xml文件


        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 

 
   
   
 
   
 
       
       
            
           
       

 
       
                        driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/car"
                userId="root"
                password="123456">
       
 
 
       
       
           
       

 
 
       
                                    targetProject=".\src\main\java">
 
           
           
           
           
           
           
           
           
       

 
       
                                 targetProject=".\src\main\java">
           
       

 
       
                                     targetProject=".\src\main\java" type="XMLMAPPER">
           
       

 
 
       


               
       

 
   

 

使用注意点:

1、classPathEntry 中的location为数据库连接驱动jar包  我用的是mysql-connector-java-5.1.38.jar ,目录存放在自己电脑本地

2、commentGenerator 对生成的注释进行控制(文尾提供文件下载)

该元素有一个可选属性type,可以指定用户的实现类,该类需要实现org.mybatis.generator.api.CommentGenerator接口。而且必有一个默认的构造方法。这个属性接收默认的特殊值DEFAULT,会使用默认的实现类org.mybatis.generator.internal.DefaultCommentGenerator。
因为系统提供了一个默认的实现类,所以对我们来说,自己实现一个会很容易,最简单的方法就是复制默认实现类代码到一个新的文件中,修改类名如MyCommentGenerator,在你自己的实现类中,你可以选择是否继续支持上面的两个属性,你还可以增加对其他属性的支持。

修改MyCommentGenerator中的方法addFieldComment即可:

public void addFieldComment(Field field,
            IntrospectedTable introspectedTable,
            IntrospectedColumn introspectedColumn) {

        if (introspectedColumn.getRemarks() != null && !introspectedColumn.getRemarks().equals("")) {
            field.addJavaDocLine("/**");
            field.addJavaDocLine(" * "+ "对应字段:"+introspectedColumn.getActualColumnName() +",  字段含义:"+ introspectedColumn.getRemarks());
            field.addJavaDocLine(" */");
        }
    }

3、jdbcConnection :jdbc的数据库连接

4、javaModelGenerator 生成实体类的相关配置,targetPackage:类名、targetProject:位置

5、sqlMapGenerator 生成的SqlMappser文件,

6、javaClientGenerator 生成的mapper接口

7、table 数据库表名及实体类名叫啥

相关配置参考自:https://blog.csdn.net/isea533/article/details/42102297

第三步:生成代码方式

自动生成有几种方式,我们这儿直接跑代码,看起来直接了当,执行下段代码即可:

public class Test {

        public static void main(String[] args) {
            args = new String[] { "-configfile", "src\\main\\resources\\mybatis-generator.xml", "-overwrite" };
            ShellRunner.main(args);
        }
}

生成文件的展示:

实体类:

mybatis generator 自动生成代码(带注释的实体类)_第1张图片

mapper接口:

mybatis generator 自动生成代码(带注释的实体类)_第2张图片

SqlMapper.xml:

mybatis generator 自动生成代码(带注释的实体类)_第3张图片

4、除此之外,还会生成PatientExample,此类对单标的操作非常灵活,如果不想使用,删掉即可,或者配置的时候不生成Example类也可。(自己本人以前用过,这儿不写过多)

 

你可能感兴趣的:(开发实用技术)