当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

mybatis自动生成sql

发表于: 2013-05-17   作者:anglny   来源:转载   浏览次数:
摘要: 实现功能是“解决单个表的DML操作。” 每一个实体和数据库中的表应该是有关系存在的。hibernate是通过注解或配置来管理这种关系,我想通过约定格式的方式来实现管理这种关系。通过实现FieldProcessingPlant接口来自定义管理关系。   @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) p

实现功能是“解决单个表的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/

mybatis自动生成sql

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Intellij IDEA 14 作为Java IDE 神器,接触后发现,非常好用,对它爱不释手,打算离开eclipse和myec
import java.util.List; import java.util.Properties; import org.apache.log4j.Logger; import or
一、MyBatis-Generator介绍 MyBatis-Generator是一个MyBatis相关代码的自动生成工具,使用MyBatis-G
今天来记录下mybatis-generator插件自动生成xml mapper和model还有dao接口,这样我们就可以把精力放
  Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书
http://mybar.iteye.com/blog/1870000 今天来记录下mybatis-generator插件自动生成xml mapper和model
http://mybar.iteye.com/blog/1870000 今天来记录下mybatis-generator插件自动生成xml mapper和model
  Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书
如果你使用过hibernate的eclipse插件自动创建DAO文件,那么就容易理解下面介绍的内容;如果你还没有
http://my.oschina.net/vigiles/blog/125127 Mybatis上路_05-使用命令行自动生成 1人收藏此文章, 我
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号