栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis逆向工程(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis逆向工程(一)

一、前言

  在讲逆向工程之前,本文默认你是已经了解了mybatis的基本使用,即增删改查和动态SQL语句。

二、数据库文件

这里我们需要用到一个数据表文件,所以你可以通过一下的命令SQL脚本快速创建一个数据表

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` bigint(20) NOT NULL COMMENT '主键ID',
  `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `age` int(11) NULL DEFAULT NULL COMMENT '年龄',
  `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'Jone', 18, 'test1@baomidou.com');
INSERT INTO `user` VALUES (2, 'Jack', 20, 'test2@baomidou.com');
INSERT INTO `user` VALUES (3, 'Tom', 28, 'test3@baomidou.com');
INSERT INTO `user` VALUES (4, 'Sandy', 21, 'test4@baomidou.com');
INSERT INTO `user` VALUES (5, 'Billie', 24, 'test5@baomidou.com');

SET FOREIGN_KEY_CHECKS = 1;
三、mybatis环境迅速搭建

        我们迅速创建一个maven环境,我们这里用的是weapp模板

   pom.xml需要引入的依赖

    
      junit
      junit
      4.12
      test
    
    
      com.github.pagehelper
      pagehelper
      5.1.6
    
    
        mysql
        mysql-connector-java
        5.1.10
      
      
        org.mybatis
        mybatis
        3.4.6
      

   接下来我们再resources目录下添加mapper目录、properties目录、mybatis-config.xml核心配置文件

 

 mybaits-config.xml的配置文件信息,这里就不过多赘述,直接上文件内容




    
    
    
    
    
    
        
            
        
    
    
    
        
            
            
                
                
                
                
                
            
        
    

    
        
    

  接下来就是数据库配置文件:db.propertis的配置内容

db.url=jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf8
db.user=root
db.password=root
db.driver=com.mysql.jdbc.Driver

   接下来,再java目录下,创建两个包

 

四、创建逆向工程的配置文件:generatorConfig.xml

  这个文件创建再resources目录下

      

直接先看整个配置文件:generatorConfig.xml




    

    

    
        
            
            
        

        
        


        
            
        

        
            
            
        

        
            
        

        
            
        

        

 具体的分析:

        1、配置文件的约束是固定的,一定要有的:


        2、配置文件的根标签是

        3、导入属性配置一定放在第一位: 

        4、指定数据库驱动的jdbc驱动jar包的位置(用的一定是jar包)

        

        5、 context 标签是逆向工程的主要配置信息,其中id:配置名字、targetRuntime:设置生成的文件适用于那个 mybatis 版本

        6、commentGenerator标签是可选标签,旨在创建class时,对注释进行控制

        
            
            
            
        

        7、配置数据的连接信息

        
        

        8、 类型处理器,非必须的,在数据库类型和java类型之间的转换控制,

默认情况下数据库中的 decimal,bigInt 在 Java 对应是 sql 下的 BigDecimal 类,不是 double 和 long 类型 ,使用常用的基本类型代替 sql 包下的引用类型 

        
            
        

        9、 生成java model层,targetPackage:生成的实体类所在的包; targetProject:生成的实体类所在的硬盘位置 

        
            
            
            
            
        

       10、mapper.xml文件的生成。targetPackage 和 targetProject:生成的 mapper.xml 文件的包和位置 

        
            
            
        

        11、mapper接口的生成。targetPackage 和 targetProject:生成的 mapper接口文件的包和位置 

        
            
            
        

        12、这里指定要生成的表 ,可以有多个

        
五、在pom.xml中引入插件

       插件坐标

      
        org.mybatis.generator
        mybatis-generator-maven-plugin
        1.3.2
        
          
          true
          true
        
      

         引入之后:

        

         双击运行此插件就可以看到逆向生成的mapper.xml 和mapper接口啦

        

六、逆向工程总结

       mybatis官方提供了mapper自动生成工具mybatis-generator-core来针对单表,生成PO类,以及Mapper接口和mapper.xml映射文件。针对单表,可以不需要再手动编写xml配置文件和mapper接口文件了,非常方便。美中不足的是它不支持生成关联查询。一般做关联查询,就自己单独写SQL就好了。至于生成的实体类中UserExample和Usermapper的具体使用,我们下篇文章再具体讲解,如果对你有帮助的话点个关注和赞吧!

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号