Mybatis自动生成代码

mybaties有个插件mybatis-generagtor可以自动生成实体,mapper,mapper映射文件

以下案例为实际开发中运用

环境:eclipse4.5+mysql5.1+maven3

1.数据库表:

2.maven配置mybatis-generator插件:在工程的pom文件中添加:(mybatis-generator插件)

<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">
        	<!-- 实体属性名驼峰格式(数据库字段brand_code,若true则生成属性为brand_code,若false 
                 则生成属性为brandCode) -->
        	<property name="useActualColumnNames" value="false" />
        </table>

    </context>
</generatorConfiguration>


4.生成代码:右击选择pom.xml文件然后Run As--Maven build...在Goals框中输入:mybatis-generator:generate 如下截图:

 

5.自此代码自动生成完成。

选择项目 按 F5 刷新项目 出现生成的代码。
注意:默认设置会生成一大堆罗哩罗嗦的Example类,主要是用各种不同的条件来操作数据库,大部分是用不到的
可通过以下配置取消Example

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值