写前面的话,想写的朋友温故知新,没用过的同学可以试试,学习知识都要看谁能巧,眼高手不能低!
Ibator替代工具mybatis Generator诞生了许多ORM框架,目的是在Web开发时更专注于业务逻辑,并在工作中使用持久层代码自动生成工具,以提高开发效率。数据库提交完成后,插件有助于生成大多数文件。以前使用ibator
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 Generator Configuration 1.0//EN" ";>
<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();
exam()
.andField1EqualTo(5)
.andField2IsNull();
exam(exam()
.andField3NotEqualTo(9)
.andField4IsNotNull());
List<Integer> field5Values = new ArrayList<Integer>();
(8);
(11);
(14);
(22);
exam(exam()
.andField5In(field5Values));
exam(exam()
.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 。
更多用法参见
1.《eclipse中如何添加缺少的类,eclipse如何添加模块,eclipse如何添加服务器》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《eclipse中如何添加缺少的类,eclipse如何添加模块,eclipse如何添加服务器》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3209880.html