您当前的位置: 首页 >  Java

彭世瑜

暂无认证

  • 1浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java:MyBatis Generator自动生成代码

彭世瑜 发布时间:2020-07-26 15:10:19 ,浏览量:1

文档:http://mybatis.org/generator/index.html

依赖 pom.xml



    4.0.0

    com.mouday
    generator-demo
    1.0-SNAPSHOT
    
    
        
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.5
                
                    src/main/resources/generatorConfig.xml
                    true
                    true
                

                
                    
                        org.mybatis.generator
                        mybatis-generator-core
                        1.3.5
                    
                    
                        mysql
                        mysql-connector-java
                        8.0.20
                    
                

            
        
    


生成器配置 generatorConfig.xml







    

        
        

        
        

        
        

        
        

        

    



参数说明

通用参数
targetPackage     指定包名
targetProject     指定路径

javaClientGenerator可选参数:
type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
# 执行代码生成
$ mvn mybatis-generator:generate

# 生成的文件
$ tree
.
├── mapper
│   ├── PersonMapper.java
│   └── PersonMapper.xml
└── model
    ├── Person.java
    └── PersonExample.java

查看生成的文件里边有很多无用的代码,可以通过进一步的配置来控制代码生成







    

        
        
            
            
            
            
        

        
        
        

        
        
            
            
        

        
        
            
            
            
            
        

        
        
            
        

        
        
            
        

        
        
        

    



生成的代码就简洁了不少

Person.java

package com.mouday.demo.model;

public class Person {
    private Integer id;

    private String name;

    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

PersonMapper.java

package com.mouday.demo.mapper;

import com.mouday.demo.model.Person;

public interface PersonMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Person record);

    int insertSelective(Person record);

    Person selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Person record);

    int updateByPrimaryKey(Person record);
}

PersonMapper.xml




  
    
    
    
  
  
    id, name, age
  
  
    select 
    
    from person
    where id = #{id,jdbcType=INTEGER}
  
  
    delete from person
    where id = #{id,jdbcType=INTEGER}
  
  
    insert into person (id, name, age
      )
    values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER}
      )
  
  
    insert into person
    
      
        id,
      
      
        name,
      
      
        age,
      
    
    
      
        #{id,jdbcType=INTEGER},
      
      
        #{name,jdbcType=VARCHAR},
      
      
        #{age,jdbcType=INTEGER},
      
    
  
  
    update person
    
      
        name = #{name,jdbcType=VARCHAR},
      
      
        age = #{age,jdbcType=INTEGER},
      
    
    where id = #{id,jdbcType=INTEGER}
  
  
    update person
    set name = #{name,jdbcType=VARCHAR},
      age = #{age,jdbcType=INTEGER}
    where id = #{id,jdbcType=INTEGER}
  

关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.0914s