IDEA自动生成Mapper和实体文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了IDEA自动生成Mapper和实体文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6837字,纯文字阅读大概需要10分钟。
内容图文
当我们在用到Mybatis的时候,肯定避免不了需要根据数据表字段创建pojo类、mapper文件以及dao类,并且需要配置它们之间的依赖关系,这样的工作很琐碎和重复,mybatis官方也发现了这个问题,因此给我们提供了mybatis generator工具来帮我们自动创建pojo类、mapper文件以及dao类并且会帮我们配置好它们的依赖关系。
今天用到这块工具,通过自己的努力终于可以成功的应用,特意把该工程上传到Github上供大家参考学习,地址:https://github.com/haobindayi/Mybatis-Generator-Mapper
大家可以直接到github上下载,也可以跟着我下面的步骤自己来试一下。
1.新建一个空白的maven工程,填写必填的项目名称进入项目页面。
2.打开pom.xml文件进行修改文件,引入需要的依赖,并修改对应的build的规则。
<? 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" > < modelVersion >4.0.0</modelVersion><groupId>github.haobindayi</groupId><artifactId>GenerateMapper</artifactId><version>1.0-SNAPSHOT</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.5</version></dependency></dependencies><build><finalName>haobindayi</finalName><pluginManagement><plugins><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.5</version><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.46</version></dependency></dependencies><configuration><!-- mybatis用于生成代码的配置文件 --><configurationFile>src/main/resources/generatorConfig.xml</configurationFile><verbose>true</verbose><overwrite>true</overwrite></configuration></plugin></plugins></pluginManagement></build></project>
BUG提醒:mysql-connector-java的版本问题,如果你的驱动是com.mysql.cj.jdbc.Driver,你就需要6.0.x的版本。如果是com.mysql.jdbc.Driver 则是5.1.x的版本。
我自己用的是mysql8.0,在idea中配置database后点击驱动可以查看其版本5.1.46.
3.根据上述的配置文件可以看到需要resources/generatorConfig.xml的配置文件,所以我们新建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" > <!-- 第二行引入爆红,说明没有导入mybatis-generator-core的依赖,导入后刷新maven --> < generatorConfiguration > <!-- 导入属性配置 --> <!-- context 是逆向工程的主要配置信息 --> <!-- id:name --> <!-- targetRuntime:设置生成的文件适用于那个 mybatis 版本 --> < context id ="default" targetRuntime ="MyBatis3" > <!-- 生成的 Java 文件的编码 --> < property name ="javaFileEncoding" value ="UTF-8" /> <!-- optional,旨在创建class时,对注释进行控制 --> < commentGenerator > < property name ="suppressDate" value ="true" /> < property name ="suppressAllComments" value ="true" /> </ commentGenerator > <!-- jdbc的数据库连接 URL后加的参数可以减少报错,&连接需要做转义,SSL版本高需要声明 --> < jdbcConnection driverClass ="com.mysql.jdbc.Driver" connectionURL = "jdbc:mysql://localhost:3306/baimax?characterEncoding=utf8&useSSL=false" userId = "root" password = "root" > </ jdbcConnection > <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制 --> < javaTypeResolver > < property name ="forceBigDecimals" value ="false" /> </ javaTypeResolver > <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类 targetPackage 指定生成的model生成所在的包名 targetProject 指定在该项目下所在的路径 --> <!-- <javaModelGenerator targetPackage="com.mmall.pojo" targetProject=".\src\main\java"> --> < javaModelGenerator targetPackage ="module" targetProject ="./src/main/java" > <!-- 是否允许子包,即targetPackage.schemaName.tableName --> < property name ="enableSubPackages" value ="false" /> <!-- 是否对model添加 构造函数,如果为true则不会生成ResultMap --> < property name ="constructorBased" value ="false" /> <!-- 是否对类CHAR类型的列的数据进行trim操作 --> < property name ="trimStrings" value ="true" /> <!-- 建立的Model对象是否 不可改变 即生成的Model对象不会有 setter方法,只有构造方法 --> < property name ="immutable" value ="false" /> </ javaModelGenerator > <!-- mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 --> <!-- <sqlMapGenerator targetPackage="mappers" targetProject=".\src\main\resources"> --> < sqlMapGenerator targetPackage ="mybatis/mappers" targetProject ="./src/main/resources" > < property name ="enableSubPackages" value ="false" /> </ sqlMapGenerator > <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码 type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象 type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象 type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口 --> <!-- targetPackage:mapper接口dao生成的位置 --> <!-- <javaClientGenerator type="XMLMAPPER" targetPackage="com.mmall.dao" targetProject=".\src\main\java"> --> < javaClientGenerator type ="XMLMAPPER" targetPackage ="dao" targetProject ="./src/main/java" > <!-- enableSubPackages:是否让schema作为包的后缀 --> < property name ="enableSubPackages" value ="false" /> </ javaClientGenerator > <!-- 生成的表 --> <!-- domainObjectName:生成的domain类的名字,如果不设置,直接使用表名作为domain类的名字;可以设置为somepck.domainName,那么会自动把domainName类再放到somepck包里面; --> <!-- enableInsert(默认true):指定是否生成insert语句; --> <!-- enableSelectByPrimaryKey(默认true):指定是否生成按照主键查询对象的语句(就是getById或get); --> <!-- enableSelectByExample(默认true):MyBatis3Simple为false,指定是否生成动态查询语句; --> <!-- enableUpdateByPrimaryKey(默认true):指定是否生成按照主键修改对象的语句(即update); --> <!-- enableDeleteByPrimaryKey(默认true):指定是否生成按照主键删除对象的语句(即delete); --> <!-- enableDeleteByExample(默认true):MyBatis3Simple为false,指定是否生成动态删除语句; --> <!-- enableCountByExample(默认true):MyBatis3Simple为false,指定是否生成动态查询总条数语句(用于分页的总条数查询); --> <!-- enableUpdateByExample(默认true):MyBatis3Simple为false,指定是否生成动态修改语句(只修改对象中不为空的属性); --> < table tableName ="user" domainObjectName ="User" enableCountByExample ="false" enableUpdateByExample ="false" enableDeleteByExample ="false" enableSelectByExample ="false" selectByExampleQueryId ="false" > </ table > </ context > </ generatorConfiguration >
具体声明解释已经在文中标注了,需要更改自己想要生成文件的存放位置,和要生成的table的名称。
4.添加执行方式,
如下图,打开配置tomcat的窗口,点击加号,选择maven,然后输入,确定保存即可。
mybatis-generator:generate -e
5.启动执行生成文件
可以点击运行中间件的开始符号【Shift + F10】或者打开右侧maven,执行Run Configurations即可成功
到这里自动生成文件的工程就搭建并使用完成了,希望可以帮到困难中的你,如果有什么疑问呢,欢迎和我进行沟通交流,也可以WX搜一搜「程序员互助圈」一起互帮互助。
我们的世界不只是Code。
原文:https://www.cnblogs.com/JulyTail/p/12106784.html
内容总结
以上是互联网集市为您收集整理的IDEA自动生成Mapper和实体文件全部内容,希望文章能够帮你解决IDEA自动生成Mapper和实体文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。