mybatis自动生成sql

实现功能是“解决单个表的DML操作。”

每一个实体和数据库中的表应该是有关系存在的。hibernate是通过注解或配置来管理这种关系,我想通过约定格式的方式来实现管理这种关系。通过实现FieldProcessingPlant接口来自定义管理关系。

 

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE) 
public @interface Relation {
    String value(); //数据表名
    String prefix() default ""; //前缀
    boolean autoPK() default false ; //是否自动生成ID
    Class<?> plat() default DefaultFieldProcessingPlant.class;  //column生成类属性字段方法
}

 

我们得到关系后在通过spring的doScan(扫描)方法来维护所有实体并把每一个实体(表)的基本操作方式(数据库的增删改查)添加进Configuration-》MappedStatement 类中。

 

最后我们只需要在没一个实体上配置@Relation注解就可以操作次实体的增删改查方法了

 

@Relation(value = "sc_system_users",autoPK = true , prefix = "SC_")
public class Users extends BaseEntity {

    private String userName ;

    private String passWord;

    private Integer locked;

    private Integer enabled;

    private Timestamp lastLoginFailedDate;
    
    //....code..........
    
    //可以在自己实体里面写一些单表的DML语句
    static public Users queryUser(String name) {
        Users u = new Users();
        u.setUserName(name);
        List<Users> list = VampireBeanFactory.instance().target()
                .selectList(BuilderAccessName.selectName(Users.class), u);
        if(list.size()== 1) return list.get(0);
        return null;
    }
}

 

只要有关系可以在任何地方直接调用实体的DML方法而不需要关注他的sql

Users user = new Users();
user.save();
user.update();
user.delete();
user.load();

 

 

源码下载地址:https://code.google.com/p/sa-auto-mybatis-installer/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值