使用前提:
当你开发的java 项目或新模块的数据库有N张表操作时,这时要自己写实体类、dao、SqlMapper.xml等文件,如果有多个表,就是造成时间浪费降低开发效率,所以建议使用mybatis generator 自动生成工具。可以自动帮助你生成java实体类、dao、mapper.xml等。
pom文件中加入jar的引入
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
connectionURL="jdbc:mysql://localhost:3306/car"
userId="root"
password="123456">
使用注意点:
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);
}
}
生成文件的展示:
实体类:
mapper接口:
SqlMapper.xml:
4、除此之外,还会生成PatientExample,此类对单标的操作非常灵活,如果不想使用,删掉即可,或者配置的时候不生成Example类也可。(自己本人以前用过,这儿不写过多)