Ibatis 對映檔案自動生成器
阿新 • • 發佈:2019-02-17
使用了一個多月的iBatis,大體覺得挺不錯.速度靈活性都還可以.比起以前的完全手動程式設計,節約了大量的時間.
但是,隨著使用次數的增多,一個問題很快就暴露出來,那就是對映檔案寫起來太煩了,都是重複單調的打字.
於是就寫了一個小程式,來做這個對映的工作.
先說一下原理:iBatis中的對映是很有規律的,最重要的是做好資料庫欄位到javabean屬性的對映,而其他的地方改動很少. 這就好辦了,我們採用模板,把變的部分抽取出來,把不變的部分直接寫到模板中.
在程式中提取javabean類的屬性,進行分析,做一個javabean屬性和資料庫欄位的一一對應關係.然後把這種關係填充到模板中.
我們來看下例子:
privateint id;
privatelong planId;
private String title;
private String body;
private String createTime;
private String lastModifyTime;
public String getBody() {
return body;
}
...
}
這是一個普通的javabean
我們再看一下轉化後的結果:
<?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
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三種簡單模型,但是有了這個模型,接下來的工作就容易多了,改幾下就可以了.
如果你有好注意,歡迎和我討論.
這裡好像不能發附件,我發到csdn的資源下載中去