mybaties有个插件mybatis-generagtor可以自动生成实体,mapper,mapper映射文件
以下案例为实际开发中运用
环境:eclipse4.5+mysql1.5+maven
1.数据库表:
2.maven配置mybatis-generator插件:在工程的pom文件中添加:
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin>
3.在resource下配置文件:
generator.properties 数据库信息
driver.class.path=E:/maven/repo_garden/mysql/mysql-connector-java/5.1.21/mysql-connector-java-5.1.21.jar jdbc.url=jdbc:mysql://106.15.35.211:53306/biguiyuan?useUnicode=true&characterEncoding=UTF-8&relaxAutoCommit=true&zeroDateTimeBehavior=convertToNull jdbc.driver=com.mysql.jdbc.Driver jdbc.username=root jdbc.password=qjbbc123 package.model=com.qianjiang.config.bean package.mapper.java=com.qianjiang.config.mapper package.mapper.xml=mybatis.member.mapper.configMapper target.project=src/main/java target.resources=src/main/resources
generatorConfig.xml mybatis生成文件配置
<?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"> <generatorConfiguration> <!--导入数据库连接属性配置 --> <properties resource="generator.properties"/> <!--指定特定数据库的jdbc驱动jar包的位置(本地仓库mysql驱动所在位置) --> <classPathEntry location="${driver.class.path}"/> <!-- 配置数据源和生成的代码所存放的位置 --> <context id="default" targetRuntime="MyBatis3" defaultModelType="flat"> <property name="beginningDelimiter" value="`" /> <property name="endingDelimiter" value="`" /> <!--是否去除自动生成的注释 true:是 : false:否 --> <commentGenerator> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--jdbc的数据库连接 --> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"> </jdbcConnection> <!-- true:使用BigDecimal对应DECIMAL和 NUMERIC数据类型 false:默认, scale>0;length>18:使用BigDecimal; scale=0;length[10,18]:使用Long; scale=0;length[5,9]:使用Integer; scale=0;length<5:使用Short; --> <javaTypeResolver> <property name="forceBigDecimals" value="true"/> </javaTypeResolver> <!-- 生成模型的包名和位置--> <javaModelGenerator targetPackage="${package.model}" targetProject="${target.project}"> <!-- 是否让schema作为包的后缀 --> <property name="enableSubPackages" value="true"/> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- 生成映射文件的包名和位置 --> <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 --> <sqlMapGenerator targetPackage="${package.mapper.xml}" targetProject="${target.resources}"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!-- 生成DAO的包名和位置--> <javaClientGenerator targetPackage="${package.mapper.java}" targetProject="${target.project}" type="XMLMAPPER"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 --> <table tableName="t_config" domainObjectName="Config" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> <property name="useActualColumnNames" value="false" /> <!-- <generatedKey column="id" sqlStatement="Mysql"/> --> </table> </context> </generatorConfiguration>
4.生成代码:右击选择pom.xml文件然后Run As–Maven build…在Goals框中输入:mybatis-generator:generate 如下截图:
5.自此代码自动生成完成。
选择项目 按 F5 刷新项目 出现生成的代码。
注意:默认设置会生成一大堆罗哩罗嗦的Example类,主要是用各种不同的条件来操作数据库,大部分是用不到的
可通过以下配置取消Example
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/11205.html