- 浏览: 666595 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (364)
- quick start (57)
- bboss aop (43)
- bboss mvc (48)
- bboss persistent (96)
- bboss taglib (30)
- bboss event (10)
- bbossgroups (52)
- bboss (32)
- bboss会话共享 (17)
- bboss rpc (7)
- bboss 国际化 (5)
- bboss 序列化 (9)
- bboss cxf webservice (8)
- bboss hessian (3)
- bboss 安全认证SSO (15)
- bboss 工作流 (6)
- 平台 (18)
- bboss quartz (3)
- 杂谈 (5)
- 大数据 (1)
- bboss elastic (24)
- bboss http (1)
- bboss kafka (1)
- Elasticsearch Scroll和Slice Scroll查询API使用案例 (1)
最新评论
-
qianhao123:
...
采用gradle构建和发布bboss方法介绍 -
qianhao123:
[img][/img]
采用gradle构建和发布bboss方法介绍 -
yin_bp:
欢迎大家参与working
高性能elasticsearch ORM开发库使用介绍 -
qq641879434:
万分感谢
bboss 持久层sql xml配置文件编写和加载方法介绍 -
yin_bp:
qq641879434 写道怎么设置配置文件 可以查看执行的S ...
bboss 持久层sql xml配置文件编写和加载方法介绍
本文介绍bbossgroups 持久层模板sql变量参数设置的三种方式,切入正题。
概述
Map:所有的变量参数名和值以key/value的方式放入,如果值为null则以null方式替换变量
Bean:所有的变量参数和值以都与bean中对应的属性字段名和值相对应,如果值为null则以相应属性类型的sql类型的 null方式替换变量
SQLParams:所有的变量参数和值以都与SQLParams中对应的属性字段名和值相对应,参数的类型根据 SQLParams.addSQLParam("id", value, SQLParams.INT)方法的第三个参数来指定,如果值为null则以相应类型的sql类型的 null方式替换变量。
如果是insert,delete,update还可以使用List<Map>,List<Bean>,List<SQLParams>来完成批量处理操作(后台全部采用预编译批处理来完成批量数据处理,性能好),下面分别介绍上述三种方式的使用方法。
1.Map和List<Map>方式
Map方式:
List<Map>方式:
2.Bean和List<Bean>方式
Bean方式:
List<Bean>方式:
3.SQLParams和List<SQLParams>方式
SQLParams方式:
List<SQLParams>方式:
补充说明-executor变量定义和相对应的sql配置文件
executor变量定义:
sql配置文件:
三种方式就介绍到此,欢迎感兴趣的朋友深入探讨bbossgroups持久层框架的方方面面。
相关文档:
bbossgroups持久层框架动态sql语句配置和使用
什么时候需要得到,如果是想看执行日志的话可以参考文档:
http://yin-bp.iteye.com/blog/1925173
如果是别的目的的话,比如报表,建议你们的报表不采用直接使用sql的方式,可以使用传对象集合的方式
概述
Map:所有的变量参数名和值以key/value的方式放入,如果值为null则以null方式替换变量
Bean:所有的变量参数和值以都与bean中对应的属性字段名和值相对应,如果值为null则以相应属性类型的sql类型的 null方式替换变量
SQLParams:所有的变量参数和值以都与SQLParams中对应的属性字段名和值相对应,参数的类型根据 SQLParams.addSQLParam("id", value, SQLParams.INT)方法的第三个参数来指定,如果值为null则以相应类型的sql类型的 null方式替换变量。
如果是insert,delete,update还可以使用List<Map>,List<Bean>,List<SQLParams>来完成批量处理操作(后台全部采用预编译批处理来完成批量数据处理,性能好),下面分别介绍上述三种方式的使用方法。
1.Map和List<Map>方式
Map方式:
Map datas = new HashMap(); datas.put("id", 139); datas.put("fieldName", "updateWithMapParams139"); executor.updateBean("updatesqltemplate", datas); //更新记录
List<Map>方式:
Map datas = new HashMap(); datas.put("id", 139); datas.put("fieldName", "updateWithMapParams139"); List<Map> params_ = new ArrayList<Map>(); params_.add(datas); datas = new HashMap(); datas.put("id", 140); datas.put("fieldName", "updateWithMapParams140"); params_.add(datas); datas = new HashMap(); datas.put("id", 141); datas.put("fieldName", "updateWithMapParams141"); params_.add(datas); executor.updateBeans("updatesqltemplate", params_); //批量更新处理多个记录
2.Bean和List<Bean>方式
Bean方式:
ListBean bean = new ListBean(); bean.setId(139); List<ListBean> result = executor.queryListBean(ListBean.class, "dynamicsqltemplateid", bean); bean.setId(-1); result = (List<ListBean>) executor.queryListBean(ListBean.class,"dynamicsqltemplateid", bean); bean.setId(0); result = (List<ListBean>) executor.queryListBean(ListBean.class,"dynamicsqltemplateid", bean);
List<Bean>方式:
ListBean bean = new ListBean(); bean.setId(139); List<ListBean> params_ = new ArrayList<ListBean>(); params.add(bean ); executor.updateBeans("updatesqltemplate", params_);//批量更新处理多个记录
3.SQLParams和List<SQLParams>方式
SQLParams方式:
SQLParams params = new SQLParams(); params.addSQLParam("id", 139, SQLParams.INT); List<ListBean> result = executor.queryListBean(ListBean.class, "dynamicsqltemplateid", params);
List<SQLParams>方式:
SQLParams params = new SQLParams(); params.addSQLParam("id", 139, SQLParams.INT); params.addSQLParam("fieldName", "duoduo139", SQLParams.STRING); List<SQLParams> params_ = new ArrayList<SQLParams>(2); params_.add(params); params = new SQLParams(); params.addSQLParam("id", 140, SQLParams.INT); params.addSQLParam("fieldName", "duoduo140", SQLParams.STRING); params_.add(params); params = new SQLParams(); params.addSQLParam("id", 141, SQLParams.INT); params.addSQLParam("fieldName", "duoduo141", SQLParams.STRING); params_.add(params); executor.updateBeans("updatesqltemplate", params_);//批量更新处理多个记录
补充说明-executor变量定义和相对应的sql配置文件
executor变量定义:
ConfigSQLExecutor executor = = new ConfigSQLExecutor("com/frameworkset/sqlexecutor/sqlfile.xml");
sql配置文件:
<?xml version="1.0" encoding='gb2312'?> <properties> <description> <![CDATA[ sql配置文件 可以通过名称属性name配置默认sql,特定数据库的sql通过在 名称后面加数据库类型后缀来区分,例如: sqltest sqltest-oracle sqltest-derby sqltest-mysql 等等,本配置实例就演示了具体配置方法 ]]> </description> <property name="sqltest"><![CDATA[select * from LISTBEAN]]> </property> <property name="sqltest-oracle"><![CDATA[select * from LISTBEAN]]> </property> <property name="sqltemplate"><![CDATA[select FIELDNAME from LISTBEAN where FIELDNAME=#[fieldName]]]> </property> <property name="sqltemplate-oracle"><![CDATA[select FIELDNAME from LISTBEAN where FIELDNAME=#[fieldName] ]]></property> <!-- 动态sql,如果FIELDNAME 不等于null,并且FIELDNAME不为""将FIELDNAME作为查询条件--> <property name="dynamicsqltemplate"><![CDATA[select * from LISTBEAN where 1=1 #if($fieldName && !$fieldName.equals("")) and FIELDNAME = #[fieldName] #end ]]> </property> <!-- 动态sql,如果id 不等于-1,并且id不为0将id作为查询条件--> <property name="dynamicsqltemplateid"><![CDATA[select * from LISTBEAN where 1=1 #if($id != -1 && $id != 0) and id = #[id] #end ]]> </property> <property name="updatesqltemplate"><![CDATA[update LISTBEAN set FIELDNAME = #[fieldName] where id = #[id] ]]> </property> <property name="queryFieldWithSQLParams"><![CDATA[select count(1) from LISTBEAN ]]> </property> </properties>
三种方式就介绍到此,欢迎感兴趣的朋友深入探讨bbossgroups持久层框架的方方面面。
相关文档:
bbossgroups持久层框架动态sql语句配置和使用
评论
2 楼
yin_bp
2015-01-09
ljthinkpad 写道
我想问一下,有什么方法可以得到直接在数据库里执行的语句?
什么时候需要得到,如果是想看执行日志的话可以参考文档:
http://yin-bp.iteye.com/blog/1925173
如果是别的目的的话,比如报表,建议你们的报表不采用直接使用sql的方式,可以使用传对象集合的方式
1 楼
ljthinkpad
2015-01-09
我想问一下,有什么方法可以得到直接在数据库里执行的语句?
发表评论
-
bboss 持久层数据源引用外部属性配置介绍
2018-12-29 21:47 976bboss 持久层数据源外部属性配置引用介绍 bboss持久 ... -
bboss持久层开启和关闭自带主键机制
2017-08-17 11:56 684bboss持久层开启和关闭自带主键机制 请访问文档: bbos ... -
bboss高性能db批处理功能使用方法介绍
2017-05-14 21:28 2050bboss持久层在v5.0.3.5中新增简单的高效的db批处理 ... -
bboss持久层公共sql片段定义和引用方法说明
2017-03-03 13:05 1055bboss持久层公共sql片段定义和引用方法说明 在配置sq ... -
最新版本mysql jdbc驱动包获取表定义信息空指针异常处理方法
2016-12-15 10:24 1265在使用最新的mysql-connector-java 6.0. ... -
持久层快速入门系列一
2016-08-19 13:00 1199持久层快速入门 先在应用中导入bboss 持久层(bboss ... -
bboss与spring中配置和引用bboss数据源和bboss dao组件方法说明
2016-08-10 16:04 858首先在项目中导入bboss 持久层包: maven坐标 & ... -
bboss 持久层sql xml配置文件编写和加载方法介绍
2016-04-05 13:14 1519bboss 持久层sql xml配置文件编写和加载方法介绍 通 ... -
bboss持久层设置数据库查询fetchsize参数方法
2015-11-06 11:54 954bboss持久层设置数据库查询fetchsize参数方法 j ... -
bboss持久层快速入门教程
2015-09-19 13:49 1516bboss持久层快速入门教程,快速搭建bboss持久层的开 ... -
bboss持久层数据库适配器编写和注册方法
2015-02-06 15:21 917bboss持久层数据库适配器编写和注册方法 bboss持久层默 ... -
bboss模糊查询、动态sql、批处理资料荟萃
2015-01-30 12:03 2260bboss模糊查询、动态sql、批处理资料荟萃 bboss持 ... -
bboss持久层查询元数据缓存机制开启方法
2014-11-18 12:03 959bboss持久层为了提升数据库查询操作性能,提供了对查 ... -
bboss开发、模块工程目录结构及功能说明
2014-10-15 19:46 4703基于bboss开发项目说明 ... -
bboss内置数据源apache dbcp与druid数据源切换方法
2014-09-23 09:59 1316bboss内置数据源与druid数据源切换方法 bboss内置 ... -
bboss持久层多数据源配置及多数据库事务控制使用方法
2014-05-11 20:24 2838bboss持久层多数据源配置及使用方法,持久层框架及demo下 ... -
bboss持久层demo使用说明
2014-03-11 09:38 1116持久层案例可以用svn客户端下载eclipse工程,导入ecl ... -
bboss持久层More分页查询API使用介绍
2013-10-18 16:17 1310为了更好地提高数据库分页查询的效率,bboss持久层在Conf ... -
bboss持久层操作Clob和Blob字段示例
2013-09-09 13:29 1145bboss持久层操作Clob和Blob非常方便,基于bboss ... -
bboss持久层ormaping机制详解
2013-09-04 21:04 1082bboss持久层针对db操作即提供了原始sql语句的支持,又提 ...
相关推荐
bbossgroups 开发系列文章之一 最佳实践bbossgroups 开发系列文章之一 最佳实践bbossgroups 开发系列文章之一 最佳实践
bbossgroups 3.1SQLExecutor组件ap使用实例bbossgroups 3.1SQLExecutor组件ap使用实例
Bbossgroups体系架构.ppt
bbossgroups 3.1培训教程 bbossgroups 3.1即将发布,新增很多实用的功能,先发给培训教程上来:比如组件异步调用,mvc地址别名配置,sql配置管理,配置sql执行组件等等
NULL 博文链接:https://yin-bp.iteye.com/blog/1004719
bbossgroups 3.0 发布,这是国内首款集aop,mvc,persistent,jsp taglib,分布式rpc服务,分布式事件框架于一身的企业级j2ee开发框架 详细信息请看: http://www.javaeye.com/news/20177-bbossmvc-bbossaop
它以类似于mybatis的方式操作和访问elasticsearch。 环保要求 JDK 要求:JDK 1.7+ Elasticsearch 版本要求:1.X,2.X,5.X,6.X,7.x,+ Spring Booter 1.x,2.x,+ bbos 降 老板 弹性搜索 弹簧靴 全部 1.x 1.x,2.x 全部 2....
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的... 首先将BBoss的maven依赖项添加到pom.xml中: < dependency> < groupId>com.bbossgroups.p