网站首页 > 技术文章 正文
写在前面的前面的话,希望用过的朋友们温故知新,没用过的同学可以试一下用用,学习知识嘛都是孰能生巧,切忌眼高手低!
ibator替代工具mybatis Generator,在做web开发的时候,为了更加的专注于业务逻辑,诞生了很多的orm框架,在工作中为了提高开发效率,我们就会使用持久层代码自动生成工具,只要数据库提交创建好,插件就会帮我们生成大部分的文件,之前一直使用ibator,和abator 。ibator和abator都是针对ibatis开发的代码生成工具,现在ibatis迁移到了github上,同时改名为mybatis,ibator和abator的插件目前已经不再更新了,目前eclipse的部分版本已经不兼容ibator插件和abator了。然而针对于mybatis的代码自动生成也已经有了替换的工具mybatis Generator ,下面简要的介绍mybatis Generator 的使用方法。笔者目前是针对eclipse,mybatis Generator插件的版本是 1.3.5 ,而intelliJ Idea也可以安装mybatis插件。
1.下面是mybatis Generator的原始配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="context1">
<jdbcConnection connectionURL="???" driverClass="???" password="???" userId="???" />
<javaModelGenerator targetPackage="???" targetProject="???" />
<sqlMapGenerator targetPackage="???" targetProject="???" />
<javaClientGenerator targetPackage="???" targetProject="???" type="XMLMAPPER" />
<table schema="???" tableName="???">
<columnOverride column="???" property="???" />
</table>
</context>
</generatorConfiguration>
这份原始配置文件缺少一项至关重要的标签<classPathEntry location="" /> ,这个标签跟<context/>标签同级。
<jdbcConnection/>这个标签不用多说,数据库连接相关配置
<javaModelGenerator/>生成java实体类对象,和相应的example文件
<sqlMapGenerator/> sqlMap映射文件
<javaClientGenerator/> java数据库持久层
<table schema="???" tableName="???">
<columnOverride column="???" property="???" />
</table>
这个是关于数据库表字段和属性对应相关的配置,如果不配置<columnOverride/>标签,那么就会生成全部字段,属性字段默认是数据库字段。
<targetPackage/>和<targetProject/>这两个标签很醒目了,目标包和目标项目,分别配置包的全路径,和工程名称就可以了。
如果想生成ibatis的配置文件,只需在一下两个标签内配置即可:
<context >标签,Optional Attributes 里面配置可选标签, 其中targetRuntime配置运行环境MyBatis3,Ibatis2Java2,Ibatis2Java5,MyBatis3Simple,默认的是mybatis3
<javaClientGenerator>标签,Required Attributes 要求属性,生成client文件的形式,如果是ibatis可以是GENERIC-CI,GENERIC-SI,IBATIS。
配置文件配置完成后保存,然后eclipse右键运行Generate mybatis插件即可
2.下面介绍下生成文件的用法,targetRuntime=Ibatis2Java5,<javaClientGenerator>标签内type=GENERIC-CI配置为以生成ibatis文件为例:
TestTableExample 为自动生成文件,
TestTableExample example = new TestTableExample();
example.createCriteria()
.andField1EqualTo(5)
.andField2IsNull();
example.or(example.createCriteria()
.andField3NotEqualTo(9)
.andField4IsNotNull());
List<Integer> field5Values = new ArrayList<Integer>();
field5Values.add(8);
field5Values.add(11);
field5Values.add(14);
field5Values.add(22);
example.or(example.createCriteria()
.andField5In(field5Values));
example.or(example.createCriteria()
.andField6Between(3, 7));
In the above example, the dynamically generated where clause will effectively be:
where (field1 = 5 and field2 is null)
or (field3 <> 9 and field4 is not null)
or (field5 in (8, 11, 14, 22))
or (field6 between 3 and 7);
使用的时候直接使用xxxDao.selectByExample(example);
并且支持order by 和distinct 。
更多用法参见http://www.mybatis.org/generator/generatedobjects/exampleClassUsage.html
猜你喜欢
- 2024-09-29 MybatisPlus—kotlin代码生成 mybatisplus 代码生成器
- 2024-09-29 Spring boot Mybatis 整合 springboot整合mybatis流程
- 2024-09-29 SpringBoot使用Mybatis-FreeMarker
- 2024-09-29 MyBatis自动生成Mapper插件 mybatis 生成mapper
- 2024-09-29 增强Mybatis常用方案 mybatis-plus扩展
- 2024-09-29 网易架构师吐血整理:2分钟看完Mybatis核心知识点
- 2024-09-29 Mybatis的XML映射文件的继承问题 mybatis映射文件的主要元素及作用
- 2024-09-29 Mybatis 自动生成bean mybatis 自动生成bo
- 2024-09-29 深入理解Python生成器(Generators)
- 2024-09-29 如何避免出现 SQL 注入漏洞 怎样避免sql注入
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)