mybatis generator

简称MBG,是一个专门为mybatis框架使用者定制的代码生成器.可以快速的根据表生成对应的映射文件,接口以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接,存储过程等这些复杂的sql定义需要我们手工编写。

逆向工程配置文件mbg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="DB2Tables" targetRuntime="MyBatis3"><!-- 指定如何连接到目标数据库 --><jdbcConnection driverClass="oracle.jdbc.OracleDriver"connectionURL="jdbc:oracle:thin:@localhost:1521:orcl"userId="scott"password="123456"></jdbcConnection><javaTypeResolver ><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- javaModelGenerator:指定javaBean的生成策略 targetPackage=""目标包名targetProject=""目标工程 --><javaModelGenerator targetPackage="com.atChina.bean" targetProject=".\src"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><!-- sqlMapGenerator:sql映射生成策略     --><sqlMapGenerator targetPackage="com.atChina.dao"  targetProject=".\conf"><property name="enableSubPackages" value="true" /></sqlMapGenerator><!-- javaClientGenerator:指定mapper接口所在的位置 --><javaClientGenerator type="XMLMAPPER" targetPackage="com.atChina.dao"  targetProject=".\src"><property name="enableSubPackages" value="true" /></javaClientGenerator><table tableName="EMPTEST" domainObjectName="Employee"></table><table tableName="DEPTTEST" domainObjectName="Department"></table></context>
</generatorConfiguration>

运行逆向生成器生成工程

运行逆向工程,有很多种方式,这里是根据上面配置的xml文件来运行逆向生成器生成工程

@Testpublic void testMbg() throws Exception{List<String> warnings = new ArrayList<String>();boolean overwrite = true;File configFile = new File("mbg.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);myBatisGenerator.generate(null);}

测试:

@Testpublic void testMybatis3() throws IOException, ParseException{String resource = "mybatis-config.xml";InputStream ins = Resources.getResourceAsStream(resource);SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(ins);SqlSession openSession = sf.openSession();try{EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);EmployeeExample example = new EmployeeExample();Criteria criteria = example.createCriteria();criteria.andEmpnoLessThan((short)7499);Criteria criteria2 = example.createCriteria();criteria2.andJobLike("%ER%");example.or(criteria2);List<Employee> emps = mapper.selectByExample(example);for(Employee em : emps){System.out.println(em);}}finally{openSession.close();}}

mybaits二十八:逆向工程相关推荐

  1. 2008R2Win7管理二十八Mail之基本使用

    2008R2Win7管理二十八Mail之基本使用 上篇我们已经安装好了exchange2010,呵呵本片简单介绍和看下ex2010的基本界面和使用 安装完成打开exchange控制台如图所示 汗,有试 ...

  2. 微信小程序把玩(二十八)image组件

    原文:微信小程序把玩(二十八)image组件 image组件也是一个程序不可缺少的,可以这样说一个app中image组件随处可以看到,一般 image有两种加载方式第一种是网络图片第二种是本地图片资源 ...

  3. Citrix 服务器虚拟化之二十八 XenApp6.5发布文档内容

    Citrix 服务器虚拟化之二十八  XenApp 6.5发布文档内容 XenApp可发布以下类型的资源向用户提供信息访问,这些资源可在服务器或桌面上虚拟化: 1)  服务器桌面:发布场中服务器的整个 ...

  4. OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope

    OpenCV学习笔记(二十六)--小试SVM算法ml 总感觉自己停留在码农的初级阶段,要想更上一层,就得静下心来,好好研究一下算法的东西.OpenCV作为一个计算机视觉的开源库,肯定不会只停留在数字图 ...

  5. (转载)Android项目实战(二十八):使用Zxing实现二维码及优化实例

    Android项目实战(二十八):使用Zxing实现二维码及优化实例 作者:听着music睡 字体:[增加 减小] 类型:转载 时间:2016-11-21 我要评论 这篇文章主要介绍了Android项 ...

  6. SAP UI5 初学者教程之二十八 - SAP UI5 应用的集成测试工具 OPA 介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  7. FreeSql (二十八)事务

    FreeSql实现了四种数据库事务的使用方法,脏读等事务相关方法暂时未提供.主要原因系这些方法各大数据库.甚至引擎的事务级别五花八门较难统一. 事务用于处理数据的一致性,处于同一个事务中的操作是一个U ...

  8. 计算机英语翻译3000字,英语专四作文满分范文(二十八):计算机翻译

    英语专四作文满分范文(二十八):计算机翻译 2015年专四考试预计4月18日开考,考生们现在应该进入紧张的冲刺复习阶段,专四作文是很多同学感到头疼的,在这里新东方在线整理了英语专四作文满分范文供考生们 ...

  9. WCF技术剖析之二十八:自己动手获取元数据[附源代码下载]

    WCF技术剖析之二十八:自己动手获取元数据[附源代码下载] 原文:WCF技术剖析之二十八:自己动手获取元数据[附源代码下载] 元数据的发布方式决定了元数据的获取行为,WCF服务元数据架构体系通过Ser ...

最新文章

  1. 【2007-5】【素数算式】
  2. Technavio:大数据即服务将迎快速增长期
  3. C++ Openssl AES GCM 128bits代码示例,可wins10的visual studio 2017 中直接运行
  4. redis中的crc16算法
  5. 网络编程中的锁与队列
  6. 破解无线路由免费上网
  7. nodejs 利用zip-local模块压缩文件夹
  8. 计算机将成为学生们的老师英语,重庆英语教师
  9. 四十六、Qt网络(六)UDP
  10. vue 微信开发工具 Maximum call stack size exceeded
  11. C# Task 循环任务_taroco-scheduler 分布式定时任务调度
  12. day049--jQuery文档操作示例
  13. tomcat 多实例的Sys V风格脚本
  14. Android计分器课程设计,比赛计分器课程设计.doc
  15. 7-5 约分最简分式
  16. 无线共享打印机无法连接服务器,“不能连接网络共享打印机”常见原因及处理方法:...
  17. c语言ab43错误的是,求助,AB+没法玩下去了,详情请看报错代码
  18. 自动化产线自动刀补实现
  19. vue-quill-editor 富文本 自定义图片上传操作
  20. 荣耀play4tpro有没有鸿蒙,荣耀Play4Tpro有没有耳机孔?

热门文章

  1. 【高斯消元】兼 【期望dp】例题
  2. 掉坑里了,小记一下.
  3. 最强一句话大全 www.sh3llc0de.com
  4. GridView跨行合并单元格
  5. 对MIME格式的邮件文件进行解码获取其可读内容和附件等
  6. 试图执行系统不支持的操作
  7. MySQL 遇到的问题
  8. Java7中的ForkJoin并发框架初探(上)——需求背景和设计原理
  9. JAVA单态设计模式
  10. 内存中OLTP(Hekaton)的排序警告