恢弘志士之气,不宜妄自菲薄。这篇文章主要讲述IDEA+Maven实现MyBatis逆向工程相关的知识,希望能为你提供帮助。
IDEA+Maven实现MyBatis逆向工程
大家好,本周博主为大家带来mybatis逆向工程的实现,具体如下什么是MyBatis逆向工程MyBatis Generator,简称mbg,是专门为mybatis定制的代码生成器。
mybatis逆向工程,根据数据表生成Bean实体类、dao接口、mapper映射文件,封装了单表的增删改查操作,但是连表查询需要自定义。
使用Mybatis逆向工程前提要有数据库和数据表
使用MyBatis逆向工程的好处自动生成项目所需要的实体类,mapper接口,和xml文件,简化开发流程
如何实现MyBatis的逆向工程?
这里采用IDEA+Maven的方式实现逆向工程,下面进入具体代码编写
项目结构图
文章图片
新建Maven项目File ---> New ---> Project
文章图片
Maven---> Next ---> 命名为MyBatisGenerator---> 单击Finsh完成
文章图片
编写配置文件pom.xml
< verbose> true
< overwrite> true
< dependencies>
< dependency>
< groupId> mysql
< properties resource="database.properties"/>
< context id="default" targetRuntime="MyBatis3">
< commentGenerator>
< property name="suppressDate" value="https://www.songbingjia.com/android/true"/>
< property name="suppressAllComments" value="https://www.songbingjia.com/android/true"/>
< jdbcConnection driverClass="$jdbc.driver"
connectionURL="$jdbc.url"
userId="$jdbc.username"
password="$jdbc.password">
< javaTypeResolver>
< property name="forceBigDecimals" value="https://www.songbingjia.com/android/false"/>
< javaModelGenerator targetPackage="com.wanshi.entity"
targetProject="src/main/java">
< property name="enableSubPackages" value="https://www.songbingjia.com/android/false"/>
< property name="constructorBased" value="https://www.songbingjia.com/android/true"/>
< property name="trimStrings" value="https://www.songbingjia.com/android/true"/>
< property name="immutable" value="https://www.songbingjia.com/android/false"/>
< sqlMapGenerator targetPackage="com.wanshi.mapper"
targetProject="src/main/java">
< property name="enableSubPackages" value="https://www.songbingjia.com/android/false"/>
< javaClientGenerator type="XMLMAPPER"
targetPackage="com.wanshi.mapper" targetProject="src/main/java">
< property name="enableSubPackages" value="https://www.songbingjia.com/android/false"/>
< table tableName="$jdbc.table.user" domainObjectName="User"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">