mybatisplus代码生成器

 官方文档:https://mp.baomidou.com/guide/

 逆向工程链接:   https://pan.baidu.com/s/1FloqrIhI2d1ns4XgvYPIkA      

目录结构:

生成 :xml映射文件, mapper接口 ,service接口与实现, controller类 ,实体类与AR;

mybatisplus代码生成器_第1张图片

  XML映射文件可以不与mapper放一个包,可以自己移动到resources/mapping下面              

mybatisplus代码生成器_第2张图片

                                                       代码生成器  


1) MP 提供了大量的自定义设置,生成的代码完全能够满足各类型的需求 2) MP 的代码生成器  和 Mybatis MBG 代码生成器: MP 的代码生成器都是基于 java 代码来生成。MBG 基于 xml 文件进行代码生成 MyBatis 的代码生成器可生成: 实体类、Mapper 接口、Mapper 映射文件 MP 的代码生成器可生成: 实体类(可以选择是否支持 AR)、Mapper 接口、Mapper 映射                        文件、 Service 层、Controller 层. 
 
3) 表及字段命名策略选择 在 MP 中,我们建议数据库表名 和 表字段名采用驼峰命名方式, 如果采用下划 线命名方式 请开启全局下划线开关,如果表名字段名命名方式不一致请注解指定,我 们建议最好保持一致。 
 
这么做的原因是为了避免在对应实体类时产生的性能损耗,这样字段不用做映射就能直 接和实体类对应。当然如果项目里不用考虑这点性能损耗,那么你采用下滑线也是没问 题的,只需要在生成代码时配置 dbColumnUnderline 属性就可以 
 
 
6.1 代码生成器依赖  
1) 模板引擎 MP 的代码生成器默认使用的是 Apache 的 Velocity 模板,当然也可以更换为别的模板 技术,例如 freemarker。此处不做过多的介绍。 需要加入 Apache Velocity 的依赖               org.apache.velocity       velocity-engine-core       2.0   2) 加入 slf4j ,查看日志输出信息            org.slf4j    slf4j-api    1.7.7        org.slf4j    slf4j-log4j12    1.7.7    
 
 
6.2 MP 代码生成器示例代码 
 @Test  public void testGenerator() {  

//全局配置

  GlobalConfig config = new GlobalConfig();

  config.setActiveRecord(true)   //是否支持AR模式      

   .setAuthor("weiyunhui") //作者

     .setOutputDir("D:\\workspace_my\\mp03\\src\\main\\java") //生成路径    

      .setFileOverride(true)//文件覆盖    

  .setServiceName("%sService")  //设置生成的service接口名 首字母是否为I    

  .setIdType(IdType.AUTO) //主键策略       ; 

 
  //数据源配置   DataSourceConfig dsConfig = new DataSourceConfig();  

dsConfig.setDbType(DbType.MYSQL)  

  .setUrl("jdbc:mysql://localhost:3306/javaEE_0228")  

 .setDriverName("com.mysql.jdbc.Driver")    

.setUsername("root")  

  .setPassword("1234");  

//策略配置  

StrategyConfig  stConfig = new StrategyConfig();

  stConfig.setCapitalMode(true)  // 全局大写命名  

  .setDbColumnUnderline(true)  //表名 字段名 是否使用下滑 线命名    

.setNaming(NamingStrategy.underline_to_camel) // 数据 库表映射到实体的命名策略

    .setInclude("tbl_employee")  //生成的表

    .setTablePrefix("tbl_"); // 表前缀  

//包名策略  

PackageConfig pkConfig = new PackageConfig();  

pkConfig.setParent("com.atguigu.mp")

    .setController("controller")  

  .setEntity("beans")  

  .setService("service");

  AutoGenerator ag  = new AutoGenerator().setGlobalConfig(config)    

     .setDataSource(dsConfig)        

 .setStrategy(stConfig)    

     .setPackageInfo(pkConfig);  

ag.execute();  }   
6.3 ServiceImpl 说明 
EmployeeServiceImpl 继承了 ServiceImpl 类,mybatis-plus 通过这种方 式为我们注入了 EmployeeMapper,这样可以使用 service 层默认为我们提供的很 多方法,也可以调用我们自己在 dao 层编写的操作数据库的方法. 
6

 

==============================================================================================

配置文件:

spring/spring-mybatis.xml




    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
        
        
        
            
                
                
                    
                    
                
            
        
    

    
    
        
        
    

    
    
        
        
    

    
    
        
    
    
    
    
    
        
            
            
            
            
            
        
    

    
    
        
    

感谢赞助与支持!

mybatisplus代码生成器_第3张图片

你可能感兴趣的:(java)