如果你使用过hibernate的eclipse插件自动创建DAO文件,那么就容易理解下面介绍的内容;如果你还没有用过hibernate也无妨。下面介绍使用mybatis 3的eclipse插件自动生成相关文件以及如何使用这些文件。
eclipse插件安装地址:http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/
附件有link安装包,link安装方式参考http://maimode.iteye.com/admin/blogs/1164524
MyBatis Generator详细介绍参见:http://code.google.com/p/mybatis/wiki/Generator
安装插件的过程就不说了,安装完后,eclipse中File-》new-》other中会发现多了mybatis选项说明插件安装成功。
如何使用插件
在任意项目中利用上图中的向导创建generatorConfig.xml文件(名称可修改)然后修改文件内容,主要是设置连接数据的相关参数:
Xml代码  
<?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 driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@192.168.2.21:1521:ORCL" userId="atfm" password="atfm" />  
<javaModelGenerator targetPackage="com.topsci.atfm.persistence.mybatis.model" targetProject="ATFM" />  
<sqlMapGenerator targetPackage="com.topsci.atfm.persistence.mybatis.mapper" targetProject="ATFM" ></sqlMapGenerator>  
<javaClientGenerator targetPackage="com.topsci.atfm.persistence.mybatis.client" targetProject="ATFM" type="XMLMAPPER" />  
<table schema="" tableName="ATFM_ROUTE_CTRL" ></table>  
<table tableName="SYN_TRACK_EST" domainObjectName="AtfmTrack"></table>  
</context>  
</generatorConfiguration>  
Xml代码  
<?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 driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@192.168.2.21:1521:ORCL" userId="atfm" password="atfm" />  
<javaModelGenerator targetPackage="com.topsci.atfm.persistence.mybatis.model" targetProject="ATFM" />  
<sqlMapGenerator targetPackage="com.topsci.atfm.persistence.mybatis.mapper" targetProject="ATFM" ></sqlMapGenerator>  
<javaClientGenerator targetPackage="com.topsci.atfm.persistence.mybatis.client" targetProject="ATFM" type="XMLMAPPER" />  
<table schema="" tableName="ATFM_ROUTE_CTRL" ></table>  
<table tableName="SYN_TRACK_EST" domainObjectName="AtfmTrack"></table>  
</context>  
</generatorConfiguration>  
根据名称应该能才出来大致的意思。
配置好连接数据库及表的信息后就可以利用插件自动生成代码了。
点击上图中的选项,如果配置正确,便自动创建相关文件了。
文件主要有三类:
client包,mapper 接口文件
model包,实体bean文件
mapper包,mapper xml文件
如何使用这些自动生成的文件
首先需要将mapper包下的xml文件添加到mybatis的sqlmapper文件中
然后程序中这样使用:
Java代码  
public List<TrackBean> selectTrackOnRoute(String routeName) {  
List<TrackBean> rt = null;  
SqlSession session = null;  
try {  
session = sqlSessionFactory.openSession();  
AtfmTrackMapper mapper = session.getMapper(AtfmTrackMapper.class);  
// 构造查询条件  
AtfmTrackExample example = new AtfmTrackExample();  
example.createCriteria()  
.andRouteIs(routeName);  
// 查询  
List<AtfmTrack> list = mapper.selectByExample(example);  
// 包装成TrackBean  
rt = this.toTrackBean(list);  
} catch (Exception e) {  
e.printStackTrace();  
logger.error(e.getMessage());  
} finally {  
if (session != null)  
session.close();  
}  
return rt;  
}  
Java代码  
public List<TrackBean> selectTrackOnRoute(String routeName) {  
List<TrackBean> rt = null;  
SqlSession session = null;  
try {  
session = sqlSessionFactory.openSession();  
AtfmTrackMapper mapper = session.getMapper(AtfmTrackMapper.class);  
// 构造查询条件  
AtfmTrackExample example = new AtfmTrackExample();  
example.createCriteria()  
.andRouteIs(routeName);  
// 查询  
List<AtfmTrack> list = mapper.selectByExample(example);  
// 包装成TrackBean  
rt = this.toTrackBean(list);  
} catch (Exception e) {  
e.printStackTrace();  
logger.error(e.getMessage());  
} finally {  
if (session != null)  
session.close();  
}  
return rt;  
}  
如果where条件比较复杂,还可以自定义查询条件,如上例中andRouteIs(routeName)就是自定义的查询条件。可以在
具体的Example的内部类Criteria中自定义查询条件:
Java代码  
public Criteria andRouteIs(String routeName){  
StringBuffer sb = new StringBuffer("point_name in " +  
"(select p.point from route_point p where p.route = '" + routeName + "') " +  
"AND FLIGHT_NO IN " +  
"(select D.FLIGHT_NO from syn_aftn_dynamic_recent d " +  
"where d.route like '%" + routeName + "%')");  
addCriterion(sb.toString());  
return this;  
}  
Java代码  
public Criteria andRouteIs(String routeName){  
StringBuffer sb = new StringBuffer("point_name in " +  
"(select p.point from route_point p where p.route = '" + routeName + "') " +  
"AND FLIGHT_NO IN " +  
"(select D.FLIGHT_NO from syn_aftn_dynamic_recent d " +  
"where d.route like '%" + routeName + "%')");  
addCriterion(sb.toString());  
return this;  
}  
我们可能会担心一旦重新执行generate的时候,我们自己编写的代码会不会丢失,不会的,插件不会修改或丢弃我们自己编写的代码。
一旦掌握了插件如何使用,重要的工作就是如何使用XXXExample类了。这种方式,完全不用编写繁琐的mapper xml文件。
MyBatis_Generator_1.3.1.zip (2.2 MB)
下载次数: 1098

利用MyBatis Generator自动创建代码相关推荐

  1. SSM框架——使用MyBatis Generator自动创建代码

    SSM框架--使用MyBatis Generator自动创建代码 这是通过命令行, 不用ide插件. 若在IDEA中通过插件generator, 还可以参考另一篇: IDEA搭建Spring+Spri ...

  2. 使用MyBatis Generator自动创建代码

    SSM框架--使用MyBatis Generator自动创建代码 1. 目录说明 使用自动生成有很多方式,可以在eclipse中安装插件,但是以下将要介绍的这种方式我认为很轻松,最简单,不需要装插件, ...

  3. MyBatis学习总结(9)——使用MyBatis Generator自动创建代码

    2019独角兽企业重金招聘Python工程师标准>>> 由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所 ...

  4. SSM框架-使用MyBatis Generator自动创建代码

    参考:http://blog.csdn.net/zhshulin/article/details/23912615 SSM搭建的时候用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半 ...

  5. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件

    我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...

  6. SpringBoot如何自动生成实体类和Dao层以及映射文件(mybatis generator 自动生成代码)

    一.首先添加自动生成代码插件 <!-- mybatis generator 自动生成代码插件 生成时解除注释 --><plugin><groupId>org.myb ...

  7. Mybatis(1)——Mybatis Generator自动生成代码

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...

  8. mybatis generator 自动生成代码(带注释的实体类)

    使用前提: 当你开发的java 项目或新模块的数据库有N张表操作时,这时要自己写实体类.dao.SqlMapper.xml等文件,如果有多个表,就是造成时间浪费降低开发效率,所以建议使用mybatis ...

  9. 如何用MyBatis-Generator自动创建代码(映射生成实体类、DAO接口和Mapping映射文件)

    如何用MyBatis自动生成实体类.DAO接口和Mapping映射文件 引言: 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBa ...

最新文章

  1. 小清新简约风个人简历PPT模板
  2. 顺序队列相关操作(C语言实现)
  3. owc_绘图区(PlotArea)背景显示多种颜色
  4. [杭电ACM]3336Count the string
  5. ztree获取勾选节点数据并且与表单信息合并
  6. linux下安装python dlib依赖
  7. C++.Templates学习总结归纳1
  8. 技术分享|集成开放平台使用Consul Watch机制实现配置热更新
  9. python运行别人的项目_pycharm实现在虚拟环境中引入别人的项目
  10. python创建一个json_如何为Python选择一个更快的JSON库
  11. centos中bash占用cpu,Linux中显示内存和CPU使用率最高的进程和SHELL脚本例子
  12. Python 爬虫---(6) beautifulSoup 库的使用
  13. PHP-FPM,Nginx,FastCGI 之间的关系
  14. Arduino学习笔记23
  15. foxmail本地文件夹同步服务器,foxmail同步QQ邮箱里的所有文件夹
  16. 致Oracle开发者的学习资源清单
  17. C# :Winform窗体中Enter键登录
  18. php上传图片到mysql并显示
  19. 抖音-uid转sec_uid
  20. 【融职培训】Web前端学习 第2章 网页重构1 第一个网页

热门文章

  1. 隐藏网页文件的后缀(IIS测试通过)!
  2. 将继续深入学习网络编程
  3. java获取表主外键_通过 jdbc 分析数据库中的表结构和主键外键
  4. 3.X内核下设备树–platform设备驱动
  5. python运行调出控制台_python.exe 和 pythonw.exe 的区别
  6. 使用简单工厂模式demo
  7. poi实现Excel导入导出依赖
  8. git常用命令流程图
  9. python变量的输入
  10. docker搜索镜像