BeetlSQL 2.11.6 发布增加了一个新特性,参考MyBatis,提供了SqlProvider 特性
@SqlProvider(provider = UserSqlProvider.class) User selectAll1( Integer id); @SqlProvider(provider = UserSqlProvider.class) @Sql() User selectAll2( Integer id); @SqlProvider(provider = UserSqlProvider.class,method="delete2") @Sql() int deleteUser(Integer id);
Provider类提供了如何生成sql语句,支持直接生成jdbc sql,也支持生成sql模板语句
public class UserSqlProvider { public String selectAll1(Integer id){ StringBuilder sql = new StringBuilder("SELECT * FROM `user` WHERE 2 = 2 "); if (id!= null){ sql.append("AND id = #id#"); } return sql.toString(); } public SQLReady selectAll2(Integer id){ StringBuilder sql = new StringBuilder("SELECT * FROM `user` WHERE 2 = 2 "); if (id!= null){ sql.append("AND id = ?"); } SQLReady sqlReady = new SQLReady(sql.toString(),new Object[]{id}); return sqlReady; } ...... }
Maven
<dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>2.11.6</version> </dependency>
BeetSql是一个全功能DAO工具, 同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用。
无需注解,自动生成大量内置SQL,轻易完成增删改查功能
数据模型支持Pojo,也支持Map/List这种快速模型,也支持混合模型
SQL 以更简洁的方式,Markdown方式集中管理,同时方便程序开发和数据库SQL调试。
SQL 模板基于Beetl实现,更容易写和调试,以及扩展
简单支持关系映射而不引入复杂的OR Mapping概念和技术。
具备Interceptor功能,可以调试,性能诊断SQL,以及扩展其他功能
内置支持主从数据库,通过扩展,可以支持更复杂的分库分表逻辑
支持跨数据库平台,开发者所需工作减少到最小