Darks ORM框架是多年前开发的一个Java web ORM框架,现在整理更新后发布。Darks ORM框架综合了hibernate及mybatis的特点,同时也加入了很多新元素。它可以像hibernate一样通过简单易用的API接口进行CRUD数据库操作,也可以像mybatis一样通过XML分离进行高效可配的操作;同时它可以混合两种调用方式,简单普遍的操作采用API,复杂的操作采用XML映射,集各家之所长。并且它可以在XML映射时通过python/JAVA/Javascript进行面向切面的动态处理。
主要特性:
支持通过session直接调用CRUD API方法(对象映射方法以及JDBC方法)。
采用注解方式配置数据模型实体。
支持链式数据源。如果主数据源出现异常,会启用子节点数据源,以此类推。
支持一对一、一对多、多对一注解方式的关联查询。
支持在实体模型类方法上配置query注解。可直接调用实体方法进行相关查询。
框架全部采用懒加载机制。
支持单对象查询、分页查询、集合查询、级联查询。
默认集成BoneCP数据连接池框架。
支持Spring集成配置。配置简单易用。
支持XML映射的SQL mapper。支持DML及DDL配置。
SQL mapper支持if/elseif/else/foreach/where/set/trim标签的相互嵌套。
支持Python/Javascript/Java脚本对SQL mapper进行面向切面的开发。
默认集成Ehcache缓存框架。
示例代码:
List users = session.queryList(User.class, "select * from users where name = ?", "darks"); Page page = session.queryPageList(User.class, "select * from users", page, pageSize); session.save(new User(....)); session.update(user); session.delete(User.class, userId); session.delete(user); session.executeQuery(....);