mybatis-generator代码自动生成工具(使用maven-plugin运行)

mybatis-generator介绍

mybatis-generator通过丰富的配置可以生成不同类型的代码,代码包含了
数据库表对应的实体类、Mapper接口类、Mapper.xml映射文件和Example对象
这些代码中几乎包含了全部的单表操作,可以减少很多重复工作。

1、创建generatorConfig.xml文件,以及配置的介绍



<generatorConfiguration>
    
    <properties resource="generatorConfig.properties"/>
    
    <context id="testTables" targetRuntime="MyBatis3" 
        defaultModelType="flat">
        
        <property name="beginningDelimiter" value="'"/>
        <property name="endingDelimiter" value="'"/>
        
        <commentGenerator>
            
            <property name="suppressAllComments" value="true" />
            
            <property name="addRemarkComments" value="true"/>
        commentGenerator>
        
        <jdbcConnection driverClass="${jdbc.driverClass}"
            connectionURL="${jdbc.jdbcUrl}" 
            userId="${jdbc.user}"
            password="${jdbc.password}">
        jdbcConnection>
        
        <javaTypeResolver>
            
            <property name="forceBigDecimals" value="false" />
        javaTypeResolver>

        
        
        
        <javaModelGenerator targetPackage="${pojoTargetPackage}"
            targetProject="${targetProject}">
            
            <property name="enableSubPackages" value="false" />
            
            <property name="trimStrings" value="true" />
        javaModelGenerator>
        
        <sqlMapGenerator targetPackage="${xmlTargetPackage}" 
            targetProject="${targetProject}">
            
            <property name="enableSubPackages" value="false" />
        sqlMapGenerator>
        
        
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="${mapperTargetPackage}" 
            targetProject="${targetProject}">
            <property name="enableSubPackages" value="false" />
        javaClientGenerator>
        
        
        
        
        <table tableName="user" domainObjectName="User">
            
            <generatedKey column="id" sqlStatement="MySql"/>
        table>
        <table tableName="orders" domainObjectName="Oeders">table>
    context>
generatorConfiguration>

2、创建generatorConfig.properties属性文件,

#mysql
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/mybatis
jdbc.user=root
jdbc.password=root
#指定项目路径
targetProject=src/main/java
#存放实体类的包名
pojoTargetPackage=com.wxx.pojo
#存放Mapper接口的包名
mapperTargetPackage=com.wxx.mapper
#存放Mapper.xml的包名
xmlTargetPackage=com.wxx.mapper

3、在pom.xml文件下添加mybatis-generator依赖


<dependency>
    <groupId>org.mybatis.generatorgroupId>
    <artifactId>mybatis-generator-coreartifactId>
    <version>1.3.7version>
dependency>
<dependency>
    <groupId>org.mybatis.generatorgroupId>
    <artifactId>mybatis-generator-maven-pluginartifactId>
    <version>1.3.7version>
dependency>

4、在pom.xml文件添加插件配置

<plugin>
    <groupId>org.mybatis.generatorgroupId>
    <artifactId>mybatis-generator-maven-pluginartifactId>
    <version>1.3.7version>
    <dependencies>
        <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
               <version>5.1.32version>
        dependency>
    dependencies>
    <configuration>
        
        <configurationFile>${basedir}/src/main/resources/generatorConfig.xmlconfigurationFile> 
        <overwrite>trueoverwrite>
    configuration>
plugin>

5、执行maven命令 mvn mybatis-generator:generate

当前项目必须执行过mvn install命令,将当前项目安装到本地仓库,否则会
找不到当前项目的依赖。

在pom.xml文件中邮件Run AS ->Maven build选项
mybatis-generator代码自动生成工具(使用maven-plugin运行)_第1张图片
执行成功,刷新项目,可以看到生成的代码
mybatis-generator代码自动生成工具(使用maven-plugin运行)_第2张图片
7、代码测试
Example封装查询条件

private UserMapper mapper;
//查询所有用户信息
public List findUsers() {
    return mapper.selectByExample(null);
}
public List<User> findUsersByCondition(String userName, String sex) {
    //封装用户查询条件的Example
    UserExample example = new UserExample();
    //创建Criteria,用来封装查询条件
    Criteria criteria = example.createCriteria();
    criteria.andUserNameLike("%"+userName+"%");
    criteria.andSexEqualTo(sex);
    return mapper.selectByExample(example);
}

你可能感兴趣的:(mybatis)