自动生成ibatis映射文件

使用了一个多月的iBatis,大体觉得挺不错.速度灵活性都还可以.比起以前的完全手动编程,节约了大量的时间.但是,随着使用次数的增多,一个问题很快就暴露出来,那就是iBatis映射文件写起来太烦了,都是重复单调的打字.

成都创新互联是专业的宜宾网站建设公司,宜宾接单;提供网站设计制作、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行宜宾网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

于是就写了一个小程序,来做这个iBatis映射文件的工作.

先说一下原理:iBatis中的映射是很有规律的,最重要的是做好数据库字段到javabean属性的映射,而其他的地方改动很少. 这就好办了,我们采用模板,把变的部分抽取出来,把不变的部分直接写到模板中.

在程序中提取javabean类的属性,进行分析,做一个javabean属性和数据库字段的一一对应关系.然后把这种关系填充到模板中.

我们来看下例子:

 
 
 
  1. public class PlanExe ...{
  2.     private int id;
  3.     private long planId;
  4.     private String title;
  5.     private String body;
  6.     private String createTime;
  7.     private String lastModifyTime;
  8.     public String getBody() ...{
  9.         return body;
  10.     }
  11. ...
  12. }

这是一个普通的javabean

我们再看一下iBatis映射文件转化后的结果:

 
 
 
  1. ﹤?xml version="1.0" encoding="UTF-8" ?﹥
  2. ﹤!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
  3.     "http://ibatis.apache.org/dtd/sql-map-2.dtd"﹥
  4. ﹤sqlMap namespace="PlanExe"﹥
  5.     ﹤typeAlias alias="PlanExe" type="zhmt.keeper.model.PlanExe" /﹥
  6.     ﹤select id="PlanExe.getPlanExeById"
  7.         resultClass="PlanExe" parameterClass="int"﹥
  8.         SELECT 
  9.             id AS id,
  10.     plan_id AS planId,
  11.     title AS title,
  12.     body AS body,
  13.     create_time AS createTime,
  14.     last_modify_time AS lastModifyTime 
  15.         FROM plan_exe 
  16.         WHERE id=#id#;
  17.     ﹤/select﹥
  18.     ﹤insert id="PlanExe.insert" parameterClass="PlanExe"﹥
  19.         INSERT INTO plan_exe 
  20.             (id,plan_id,title,body,create_time,last_modify_time) 
  21.         VALUES 
  22.             (#id#,#planId#,#title#,#body#,#createTime#,#lastModifyTime#) ;
  23.     ﹤/insert﹥
  24.     ﹤update id="PlanExe.update" parameterClass="PlanExe"﹥
  25.         UPDATE plan_exe SET 
  26.             id=#id#,
  27.     plan_id=#planId#,
  28.     title=#title#,
  29.     body=#body#,
  30.     create_time=#createTime#,
  31.     last_modify_time=#lastModifyTime# 
  32.         WHERE id = #id# ;
  33.     ﹤/update﹥
  34. ﹤/sqlMap﹥

这里我只是做了select,insert,update三种简单模型,但是有了这个模型,接下来的工作就容易多了,改几下就可以了.

本文名称:自动生成ibatis映射文件
标题URL:http://www.shufengxianlan.com/qtweb/news21/276121.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联