MyBatis Generator实战

MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATIS 2.2.0版本以后的代码。 他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。 这样和数据库表进行交互时不需要创建对象和配置文件。 MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作。 您仍然需要对联合查询和存储过程手写SQL和对象。

  1. 在dao层的pom中引入maven插件
    <plugin>
    	<groupId>org.mybatis.generator</groupId>
    	<artifactId>mybatis-generator-maven-plugin</artifactId>
    	<version>1.3.5</version>
    	<configuration>
    		<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
    	</configuration>
    	<dependencies>
    		<!-- 数据库驱动  -->
    		<dependency>
    			<groupId>mysql</groupId>
    			<artifactId>mysql-connector-java</artifactId>
    			<version>5.1.34</version>
    		</dependency>
    		<dependency>
    			<groupId>org.mybatis.generator</groupId>
    			<artifactId>mybatis-generator-core</artifactId>
    			<version>1.3.5</version>
    		</dependency>
    
    	</dependencies>
    </plugin>

  2. 在dao的src/main/resource中添加配置文件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">
    
    <generatorConfiguration>
    
        <context id="DB2Tables" targetRuntime="MyBatis3"  defaultModelType="flat">
    
            <commentGenerator>
                <!--数据库注释支持-->
                <property name="addRemarkComments" value="true"/>
                <!--注释中时间格式-->
                <property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"/>
            </commentGenerator>
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                            connectionURL="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8"
                            userId="root"
                            password="123456">
            </jdbcConnection>
    
            <javaTypeResolver >
                <property name="forceBigDecimals" value="false" />
            </javaTypeResolver>
    
            <!--model DO对象-->
            <javaModelGenerator targetPackage="com.test.dao.data" targetProject="src/main/java">
                <property name="enableSubPackages" value="true" />
            </javaModelGenerator>
    
            <!--SQL Mapper-->
            <sqlMapGenerator targetPackage="mybatis/mapper"  targetProject="src/main/resources">
                <property name="enableSubPackages" value="true" />
            </sqlMapGenerator>
    
            <!--dao java代码-->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.test.dao"  targetProject="src/main/java">
                <property name="enableSubPackages" value="true" />
            </javaClientGenerator>
    
            <!--表名和Java对象名,支持父类,必须有一个enable为true-->
            <table tableName="employee" domainObjectName="EmployeeDO" mapperName="EmployeeDAO"
                   enableInsert="true" enableUpdateByPrimaryKey="false" enableSelectByPrimaryKey="true" enableDeleteByPrimaryKey="false"
                   enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
                <property name="rootClass" value="com.test.BaseDO"/>
            </table>
    
        </context>
    </generatorConfiguration>

  3. 在spring配置文件中引入相关的bean
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    	<property name="dataSource" ref="dataSource" />
    	<property name="configLocation" value="classpath:mybatis/mysql-sqlmap.xml" />
    </bean>
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    	<property name="basePackage" value="com.test.dao" />
    </bean>

  4. 运行命令生成
    1、进入dao层
    2、执行命令:mvn mybatis-generator:generate
    3、如果已经存在相同文件,不会覆盖当前文件,而是生成新的备份文件如AppDO.java.1
    4、强制覆盖相同文件执行 mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate

  5. 生成代码
  6. 1、在com.test.dao.data中生成EmployeeDO实体类
    2、在com.test.dao中生成EmployeeDAO接口类
    3、在src/main/resources/mybatis/mapper中生成EmployeeDAO.xml文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值