您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“怎么自動(dòng)生成ibatis映射文件”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么自動(dòng)生成ibatis映射文件”吧!
使用了一個(gè)多月的iBatis,大體覺(jué)得挺不錯(cuò).速度靈活性都還可以.比起以前的完全手動(dòng)編程,節(jié)約了大量的時(shí)間.但是,隨著使用次數(shù)的增多,一個(gè)問(wèn)題很快就暴露出來(lái),那就是iBatis映射文件寫(xiě)起來(lái)太煩了,都是重復(fù)單調(diào)的打字.
于是就寫(xiě)了一個(gè)小程序,來(lái)做這個(gè)iBatis映射文件的工作.
先說(shuō)一下原理:iBatis中的映射是很有規(guī)律的,最重要的是做好數(shù)據(jù)庫(kù)字段到j(luò)avabean屬性的映射,而其他的地方改動(dòng)很少. 這就好辦了,我們采用模板,把變的部分抽取出來(lái),把不變的部分直接寫(xiě)到模板中.
在程序中提取javabean類(lèi)的屬性,進(jìn)行分析,做一個(gè)javabean屬性和數(shù)據(jù)庫(kù)字段的一一對(duì)應(yīng)關(guān)系.然后把這種關(guān)系填充到模板中.
我們來(lái)看下例子:
public class PlanExe ...{ private int id; private long planId; private String title; private String body; private String createTime; private String lastModifyTime; public String getBody() ...{ return body; } ... }
這是一個(gè)普通的javabean
我們?cè)倏匆幌耰Batis映射文件轉(zhuǎn)化后的結(jié)果:
﹤?xml version="1.0" encoding="UTF-8" ?﹥ ﹤!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"﹥ ﹤sqlMap namespace="PlanExe"﹥ ﹤typeAlias alias="PlanExe" type="zhmt.keeper.model.PlanExe" /﹥ ﹤select id="PlanExe.getPlanExeById" resultClass="PlanExe" parameterClass="int"﹥ SELECT id AS id, plan_id AS planId, title AS title, body AS body, create_time AS createTime, last_modify_time AS lastModifyTime FROM plan_exe WHERE id=#id#; ﹤/select﹥ ﹤insert id="PlanExe.insert" parameterClass="PlanExe"﹥ INSERT INTO plan_exe (id,plan_id,title,body,create_time,last_modify_time) VALUES (#id#,#planId#,#title#,#body#,#createTime#,#lastModifyTime#) ; ﹤/insert﹥ ﹤update id="PlanExe.update" parameterClass="PlanExe"﹥ UPDATE plan_exe SET id=#id#, plan_id=#planId#, title=#title#, body=#body#, create_time=#createTime#, last_modify_time=#lastModifyTime# WHERE id = #id# ; ﹤/update﹥ ﹤/sqlMap﹥
這里我只是做了select,insert,update三種簡(jiǎn)單模型,但是有了這個(gè)模型,接下來(lái)的工作就容易多了,改幾下就可以了.
到此,相信大家對(duì)“怎么自動(dòng)生成ibatis映射文件”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。