mybaits二十八:逆向工程
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二十八:逆向工程相关推荐
- 2008R2Win7管理二十八Mail之基本使用
2008R2Win7管理二十八Mail之基本使用 上篇我们已经安装好了exchange2010,呵呵本片简单介绍和看下ex2010的基本界面和使用 安装完成打开exchange控制台如图所示 汗,有试 ...
- 微信小程序把玩(二十八)image组件
原文:微信小程序把玩(二十八)image组件 image组件也是一个程序不可缺少的,可以这样说一个app中image组件随处可以看到,一般 image有两种加载方式第一种是网络图片第二种是本地图片资源 ...
- Citrix 服务器虚拟化之二十八 XenApp6.5发布文档内容
Citrix 服务器虚拟化之二十八 XenApp 6.5发布文档内容 XenApp可发布以下类型的资源向用户提供信息访问,这些资源可在服务器或桌面上虚拟化: 1) 服务器桌面:发布场中服务器的整个 ...
- OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope
OpenCV学习笔记(二十六)--小试SVM算法ml 总感觉自己停留在码农的初级阶段,要想更上一层,就得静下心来,好好研究一下算法的东西.OpenCV作为一个计算机视觉的开源库,肯定不会只停留在数字图 ...
- (转载)Android项目实战(二十八):使用Zxing实现二维码及优化实例
Android项目实战(二十八):使用Zxing实现二维码及优化实例 作者:听着music睡 字体:[增加 减小] 类型:转载 时间:2016-11-21 我要评论 这篇文章主要介绍了Android项 ...
- SAP UI5 初学者教程之二十八 - SAP UI5 应用的集成测试工具 OPA 介绍试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...
- FreeSql (二十八)事务
FreeSql实现了四种数据库事务的使用方法,脏读等事务相关方法暂时未提供.主要原因系这些方法各大数据库.甚至引擎的事务级别五花八门较难统一. 事务用于处理数据的一致性,处于同一个事务中的操作是一个U ...
- 计算机英语翻译3000字,英语专四作文满分范文(二十八):计算机翻译
英语专四作文满分范文(二十八):计算机翻译 2015年专四考试预计4月18日开考,考生们现在应该进入紧张的冲刺复习阶段,专四作文是很多同学感到头疼的,在这里新东方在线整理了英语专四作文满分范文供考生们 ...
- WCF技术剖析之二十八:自己动手获取元数据[附源代码下载]
WCF技术剖析之二十八:自己动手获取元数据[附源代码下载] 原文:WCF技术剖析之二十八:自己动手获取元数据[附源代码下载] 元数据的发布方式决定了元数据的获取行为,WCF服务元数据架构体系通过Ser ...
最新文章
- 【2007-5】【素数算式】
- Technavio:大数据即服务将迎快速增长期
- C++ Openssl AES GCM 128bits代码示例,可wins10的visual studio 2017 中直接运行
- redis中的crc16算法
- 网络编程中的锁与队列
- 破解无线路由免费上网
- nodejs 利用zip-local模块压缩文件夹
- 计算机将成为学生们的老师英语,重庆英语教师
- 四十六、Qt网络(六)UDP
- vue 微信开发工具 Maximum call stack size exceeded
- C# Task 循环任务_taroco-scheduler 分布式定时任务调度
- day049--jQuery文档操作示例
- tomcat 多实例的Sys V风格脚本
- Android计分器课程设计,比赛计分器课程设计.doc
- 7-5 约分最简分式
- 无线共享打印机无法连接服务器,“不能连接网络共享打印机”常见原因及处理方法:...
- c语言ab43错误的是,求助,AB+没法玩下去了,详情请看报错代码
- 自动化产线自动刀补实现
- vue-quill-editor 富文本 自定义图片上传操作
- 荣耀play4tpro有没有鸿蒙,荣耀Play4Tpro有没有耳机孔?