Ibatis 映射文件自动生成器

本文介绍了一款用于生成iBatis映射文件的小程序,旨在解决手动编写映射文件繁琐的问题。该程序基于数据库字段和javabean属性的对应关系,通过模板方式自动化生成select、insert、update等基本操作的映射内容,简化开发工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

我们来看下例子:

 

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;
    }

...
}

这是一个普通的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="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三种简单模型,但是有了这个模型,接下来的工作就容易多了,改几下就可以了.

如果你有好注意,欢迎和我讨论.

 这里好像不能发附件,我发到csdn的资源下载中去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值