Beetlsql是一个非常全面的DAO工具,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,同时具有Hibernate和Mybatis等优点,适用于所有承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用,非常强大,性能良好,超过当前流行的模板引擎。而且还易学易用!除此之外,Beetlsql还支持自动使用大量内置SQL,轻易完成增删改查功能,节省50%的开发工作量,数据型支持Pojo,也支持Map/List这种快速模型,也支持混合模型,可以自动将sql文件映射为dao接口类。
1、public T unique(Clas clazz,Object pk) 根据主键查询,如果未找到,抛出异常;
2、public T single(Clas clazz,Object pk) 根据主键查询,如果未找到,返回null;
3、public List all(Clas clazz) 查询出所有结果集;
4、public List all(Clas clazz, int start,int size) 翻页;
5、public int allCount(Clas clazz) 总数。
支持(Query)单表查询
1、SQLManager提供Query类可以实现单表查询操作;
2、public long templateCount(Clas target,Object paras) 获取符合条件个数。
template查询
1、public List template(T t) 根据模板查询,返回所有符合这个模板的数据库 同上, mapper可以提供额外的映射;
2、public T templateOne(T t) 根据模板查询,返回一条结果,如果没有找到,返回null;
3、public List template(T tint start,int size) 同上,可以翻页;
4、public long templateCount(T t) 获取符合条件的个数;
5、public List template(Clas target,Object paras,long start,long size) 模板查询,参数是paras,可以是Map或者普通对象。
1)Beetl类似Javascript语法和习俗,只要半小时就能通过半学半猜完全掌握用法。拒绝其他模板引擎那种非人性化的语法和习俗。同时也能支持html 标签,使得开发CMS系统比较容易
二、易于整合
1)Beetl能很容易的与各种web框架整合,如Act Framework,Spring MVC,Struts,Nutz,Jodd,Servlet,JFinal等。支持模板单独开发和测试,即在MVC架构中,即使没有M和C部分,也能开发和测试模板。
三、性能卓越
1)Beetl远超过主流java模板引擎性能(引擎性能5-6倍与freemaker,2倍于JSP),宏观上通过了优化的渲染引擎,IO的二进制输出,字节码属性访问增强,微观上通过一维数组保存上下文Context,静态文本合并处理,重复使用字节数组来防止java频繁的创建和销毁数组,还使用模板缓存,运行时优化等方法
四、开发效率高
1)无需注解,自动使用大量内置SQL,轻易完成增删改查功能,节省50%的开发工作量。 数据模型支持Pojo,也支持Map/List这种快速模型,也支持混合模型。 SQL 模板基于Beetl实现,更容易写和调试,以及扩展。 可以针对单个表(或者视图)代码生成pojo类和sql模版,甚至是整个数据库。能减少代码编写工作量
五、易于维护
1)SQL 以更简洁的方式,Markdown方式集中管理,同时方便程序开发和数据库SQL调试。可以自动将sql文件映射为dao接口类。灵活直观的支持支持一对一,一对多,多对多关系映射而不引入复杂的OR Mapping概念和技术。具备Interceptor功能,可以调试,性能诊断SQL,以及扩展其他功能
六、其他特色
1)内置支持主从数据库支持的开源工具,支持跨数据库平台,开发者所需工作减少到最小,目前跨数据库支持MySql、Postgres、Oracle、SQLServer、h2、SQLite、DB2
sqlManager.insert(user);
int id = 1;
user = sqlManager.unque(User.clas,id);
//使用sql脚本,采用markdown管理
List list = sqlManager.select("user.select",User.clas,query)
//直接使用sql
List list2 = sqlManager.execute("select * from user",User.clas)
sql 脚本采用 markdown 管理,并定制了 beetl 模板引擎
selectUser
===
select * from user where 1=1
@if(!isEmpty(age)){
and age = #age#
@}
@if(!isEmpty(name)){
and name = #name#
@}
软件功能
支持简单查询(自动生成sql)1、public T unique(Clas clazz,Object pk) 根据主键查询,如果未找到,抛出异常;
2、public T single(Clas clazz,Object pk) 根据主键查询,如果未找到,返回null;
3、public List all(Clas clazz) 查询出所有结果集;
4、public List all(Clas clazz, int start,int size) 翻页;
5、public int allCount(Clas clazz) 总数。
支持(Query)单表查询
1、SQLManager提供Query类可以实现单表查询操作;
2、public long templateCount(Clas target,Object paras) 获取符合条件个数。
template查询
1、public List template(T t) 根据模板查询,返回所有符合这个模板的数据库 同上, mapper可以提供额外的映射;
2、public T templateOne(T t) 根据模板查询,返回一条结果,如果没有找到,返回null;
3、public List template(T tint start,int size) 同上,可以翻页;
4、public long templateCount(T t) 获取符合条件的个数;
5、public List template(Clas target,Object paras,long start,long size) 模板查询,参数是paras,可以是Map或者普通对象。
软件特色
一、简单易用1)Beetl类似Javascript语法和习俗,只要半小时就能通过半学半猜完全掌握用法。拒绝其他模板引擎那种非人性化的语法和习俗。同时也能支持html 标签,使得开发CMS系统比较容易
二、易于整合
1)Beetl能很容易的与各种web框架整合,如Act Framework,Spring MVC,Struts,Nutz,Jodd,Servlet,JFinal等。支持模板单独开发和测试,即在MVC架构中,即使没有M和C部分,也能开发和测试模板。
三、性能卓越
1)Beetl远超过主流java模板引擎性能(引擎性能5-6倍与freemaker,2倍于JSP),宏观上通过了优化的渲染引擎,IO的二进制输出,字节码属性访问增强,微观上通过一维数组保存上下文Context,静态文本合并处理,重复使用字节数组来防止java频繁的创建和销毁数组,还使用模板缓存,运行时优化等方法
四、开发效率高
1)无需注解,自动使用大量内置SQL,轻易完成增删改查功能,节省50%的开发工作量。 数据模型支持Pojo,也支持Map/List这种快速模型,也支持混合模型。 SQL 模板基于Beetl实现,更容易写和调试,以及扩展。 可以针对单个表(或者视图)代码生成pojo类和sql模版,甚至是整个数据库。能减少代码编写工作量
五、易于维护
1)SQL 以更简洁的方式,Markdown方式集中管理,同时方便程序开发和数据库SQL调试。可以自动将sql文件映射为dao接口类。灵活直观的支持支持一对一,一对多,多对多关系映射而不引入复杂的OR Mapping概念和技术。具备Interceptor功能,可以调试,性能诊断SQL,以及扩展其他功能
六、其他特色
1)内置支持主从数据库支持的开源工具,支持跨数据库平台,开发者所需工作减少到最小,目前跨数据库支持MySql、Postgres、Oracle、SQLServer、h2、SQLite、DB2
代码举例
//使用内置sqlsqlManager.insert(user);
int id = 1;
user = sqlManager.unque(User.clas,id);
//使用sql脚本,采用markdown管理
List list = sqlManager.select("user.select",User.clas,query)
//直接使用sql
List list2 = sqlManager.execute("select * from user",User.clas)
sql 脚本采用 markdown 管理,并定制了 beetl 模板引擎
selectUser
===
select * from user where 1=1
@if(!isEmpty(age)){
and age = #age#
@}
@if(!isEmpty(name)){
and name = #name#
@}
网友评论 查看所有0条评论>>