zoukankan      html  css  js  c++  java
  • mybatis逆向工程

    技术总结:

    一、什么是逆向工程  
    mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..)

      实际开发中,常用的逆向工程方式:由数据库的表生成java代码。
    

    回到顶部
    二、下载逆向工程
      去官网下载逆向工程,截至今天最新版本是1.3.3. 官方逆向工程文档

     我所用的是1.3.2版本的,下载地址: mybatis_generator所用jar包.zip
    
                                                 mybatis学习资料(中英文文档,参数常见配置等).rar
    

    回到顶部
    三、使用方法
    1.生成代码配置文件

    generatorConfig.xml的配置

    复制代码
    1
    2
    5
    6
    7
    8
    9
    10
    11

    12
    13 <jdbcConnection driverClass="com.mysql.jdbc.Driver"
    14 connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
    15 password="root">
    16
    17
    18
    20
    21
    22

    23
    24
    25 <javaModelGenerator targetPackage="com.mybatis.entity"
    26 targetProject=".src">
    27
    28
    29
    30
    31
    32
    33 <sqlMapGenerator targetPackage="com.mybatis.mapper"
    34 targetProject=".src">
    35
    36
    37
    38
    39 <javaClientGenerator type="XMLMAPPER"
    40 targetPackage="com.mybatis.mapper" targetProject=".src">
    41
    42
    43
    44
    45


    46

    47

    48

    49
    50
    复制代码
    2.执行生成程序

    GeneratorSqlmap.java的代码:

    复制代码
    1 import java.io.File;
    2 import java.util.ArrayList;
    3 import java.util.List;
    4
    5 import org.mybatis.generator.api.MyBatisGenerator;
    6 import org.mybatis.generator.config.Configuration;
    7 import org.mybatis.generator.config.xml.ConfigurationParser;
    8 import org.mybatis.generator.internal.DefaultShellCallback;
    9
    10 public class GeneratorSqlmap {
    11
    12 public void generator() throws Exception{
    13
    14 List warnings = new ArrayList();
    15 boolean overwrite = true;
    16 //指定 逆向工程配置文件
    17 File configFile = new File("generatorConfig.xml");
    18 ConfigurationParser cp = new ConfigurationParser(warnings);
    19 Configuration config = cp.parseConfiguration(configFile);
    20 DefaultShellCallback callback = new DefaultShellCallback(overwrite);
    21 MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
    22 callback, warnings);
    23 myBatisGenerator.generate(null);
    24
    25 }
    26 public static void main(String[] args) throws Exception {
    27 try {
    28 GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
    29 generatorSqlmap.generator();
    30 } catch (Exception e) {
    31 e.printStackTrace();
    32 }
    33
    34 }
    35
    36 }
    复制代码
    上面这段代码在官方文档中的代码,里面支持好多语言的,大家可以去官方看看。下面这张图是从官方截取的

    配置好后,直接运行代码就会在配置的对应目录生成对应的实体和mapper以及mapper.xml文件。(类似hibernate的实体映射),当然除了这种方法生成,还可以下载mybatis_generator插件生成。

    执行完毕后,刷新项目,就可以看到生成的对应文件。

    3.逆向工程注意事项

      mapper.xml文件已存在时,如果进行重新生成则mapper.xml文件内容不被覆盖而是进行内容增加,结果会导致mybatis解析失败。

      解决办法:删除原来的已经生成的mapper.xml文件重新生成。

      mybais自动生成的实体entity以及mapper.java文件不是内容追加而是直接覆盖没有问题。

    心得:
    一、第一层为苦学

    提起就讲"头悬梁、锥刺股","刻苦、刻苦、再刻苦"。处于这种层次的同学,觉得学习枯燥无味,对他们来说学习是一种被迫行为,体会不到学习中的乐趣。长期下去,对学习必然产生了一种恐惧感,从而滋生了厌学的情绪,结果,在他们那里学习变成了一种苦差事。

    二、第二层为好学

    所谓"知之者不如好之者",达到这种境界的同学,对学习会起到重大的推动作用。对学习如饥似渴,常常达到废寝忘食的地步。他们的学习不需要别人的逼迫,自觉的态度常使他们能取得好的成绩,而好的成绩又使他们对学习产生更浓的兴趣,形成学习中的良性循环。

    三、第三层为会学

    学习本身也是一门学问,有科学的、需要遵循的规律。按照正确的学习,就学的轻松,学习也变的灵活流畅,能够很好地驾御学习,真正成为学习的主人。

  • 相关阅读:
    LENGTH()和CHAR_LENGTH()区别
    使用ibatis时 sql中 in 的参数赋值(转)
    数据库类型空间效率探索(五)- decimal/float/double/varchar
    MySQL用命令行复制表的方法
    升讯威微信营销系统开发实践:微信接口的 .NET 封装
    Github开源:Sheng.RabbitMQ.CommandExecuter (RabbitMQ 的命令模式实现)
    开源 & 免费使用 & 打包下载自行部署 :升讯威 周报系统
    开源 & 免费使用 & 打包下载自行部署 :升讯威 周报系统
    GitHub开源:升讯威ADO.NET增强组件 sheng.ADO.NET.Plus V1.3
    [源代码] SailingEase .NET Resources Tool (.NET 多语言资源编辑器)
  • 原文地址:https://www.cnblogs.com/xjyboke/p/13995788.html
Copyright © 2011-2022 走看看