bboss预编译批处理api使用介绍

简介: bboss预编译批处理功能能够非常方便地完成对数据的批量插入、批量删除、批量更新操作。所谓批量操作就是一次向数据库中执行多条记录操作,bboss批量处理操作全部采用预编译方式执行,执行效率非常不错。
bboss预编译批处理功能能够非常方便地完成对数据的批量插入、批量删除、批量更新操作。所谓批量操作就是一次向数据库中执行多条记录操作,bboss批量处理操作全部采用预编译方式执行,执行效率非常不错。本文详细介绍bboss持久层框架中批量处理操作的api及使用实例。切入正题。

1.相关组件

com.frameworkset.sqlexecutor.SQLExecutor-所有的api都是静态方法,直接操作原始sql语句,所有的方法都可以指定操作的数据源,也可以不指定(这样会在poolman.xml文件中的第一个数据源上执行对应的sql)

com.frameworkset.sqlexecutor.ConfigSQLExecutor--所有的api都是实例方法,一个ConfigSQLExecutor对象实例必须以一个sql配置文件路径作为参数的构造函数来实例化;实例的所有方法不能直接使用sql语句,只能指定一个配置sql的名称,这个名称对应sql配置文件中的一条sql语句;ConfigSQLExecutor中所有的方法都可以指定操作的数据源,也可以不指定(这样会在poolman.xml文件中的第一个数据源上执行对应的sql)。

2.批量插入操作
api
SQLExecutor.insertBeans(sql,beans);
SQLExecutor.insertBeans(dbname,sql,beans);

ConfigSQLExecutor.insertBeans(sqlname,beans);
ConfigSQLExecutor.insertBeans(dbname,sqlname,beans);

使用实例-以SQLExecutor为例
public void batchadd(List<TestBean> newdatas)
	{				
		//sql中的变量对应TestBean中的属性名称,必须要有相应的get/set方法,框架会自动将其转换为预编译占位符的sql语句
		String sql = "insert into LISTBEAN(ID,FIELDNAME,FIELDLABLE,FIELDTYPE,SORTORDER," +
				"ISPRIMARYKEY,REQUIRED,FIELDLENGTH,ISVALIDATED) " +
				"values(#[id],#[fieldName],#[fieldLable],#[fieldType],#[sortorder]," +
				"#[isprimaryKey],#[required],#[fieldLength],#[isvalidated])";
        //SQLExecutor.insertBeans(sql,newdatas);//不带数据源的方法
		SQLExecutor.insertBeans("testds",//数据源
		                        sql,//数据库sql语句
		                        newdatas//批量插入的对象记录集
		                        );
	}


3.批量更新操作
api
SQLExecutor.updateBeans(sql,beans);
SQLExecutor.updateBeans(dbname,sql,beans);

ConfigSQLExecutor.updateBeans(sqlname,beans);
ConfigSQLExecutor.updateBeans(dbname,sqlname,beans);


使用实例-以SQLExecutor为例
public void batchadd(List<TestBean> updatedatas)
{
       sql ="update LISTBEAN set FIELDNAME=#[fieldName] where ID=#[id]"; 
                  //SQLExecutor.updateBeans(sql,updatedatas);

		SQLExecutor.updateBeans("testds",sql,updatedatas);
}


4.批量删除操作
api

SQLExecutor.deleteBeans(sql,beans);
SQLExecutor.deleteBeans(dbname,sql,beans);
ConfigSQLExecutor.deleteBeans(sqlname,beans);
ConfigSQLExecutor.deleteBeans(dsname,sqlname,beans);


使用实例-以SQLExecutor为例

public void batchadd(List<TestBean> updatedatas)
{
       sql ="delete  from LISTBEAN where ID=#[id]";   
       //SQLExecutor.deleteBeans(sql,beans);
       SQLExecutor.deleteBeans("mysql",sql,beans);
}


到此bboss中三种典型的批量处理操作的api及使用实例就介绍完了,至于poolman.xml中配置数据源请参考文章:
http://yin-bp.iteye.com/blog/352599
ConfigSQLExecutor组件的更详细的使用实例请参考以下文章:
http://yin-bp.iteye.com/blog/1112997
SQLExecutor组件的更详细的使用实例请参考以下文章:
http://yin-bp.iteye.com/blog/1035991

这里说明的都是单条sql语句的预编译批处理操作,还可以参考以下多条sql语句同时进行预编译批处理的实例:
https://github.com/bbossgroups/bbossgroups-3.5/blob/master/bboss-persistent/test/com/frameworkset/common/TestPreparedBatch.java








目录
相关文章
|
存储 算法 API
Flink DataStream API 批处理能力演进之路
本文由阿里云 Flink 团队郭伟杰老师撰写,旨在向 Flink Batch 社区用户介绍 Flink DataStream API 批处理能力的演进之路。
826 2
Flink DataStream API 批处理能力演进之路
|
存储 人工智能 测试技术
[译][AI OpenAI-doc] 批处理 API
了解如何使用 OpenAI 的批处理 API 发送异步请求组,其成本降低 50%,具有一个独立的更高速率限制池,并提供明确的 24 小时完成时间。该服务非常适合处理不需要即时响应的作业。您也可以直接在这里查看 API 参考。
|
前端开发 JavaScript API
React 18 正式发布,包括自动批处理、新的 API 等开箱即用的改进
React 18 正式发布,包括自动批处理、新的 API 等开箱即用的改进
374 0
|
JSON .NET API
【ASP.NET Web API教程】5.4 ASP.NET Web API批处理器
原文:【ASP.NET Web API教程】5.4 ASP.NET Web API批处理器 注:本文是【ASP.NET Web API系列教程】的一部分,如果您是第一次看本系列教程,请先看前面的内容。 Batching Handler for ASP.
1250 0
|
1月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
1月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
2月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
1月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
2月前
|
JSON 前端开发 API
如何调用体育数据足篮接口API
本文介绍如何调用体育数据API:首先选择可靠服务商并注册获取密钥,接着阅读文档了解基础URL、端点、参数及请求头,然后使用Python等语言发送请求、解析JSON数据,最后将数据应用于Web、App或分析场景,同时注意密钥安全、速率限制与错误处理。
407 152
|
1月前
|
人工智能 自然语言处理 测试技术
Apipost智能搜索:只需用业务语言描述需求,就能精准定位目标接口,API 搜索的下一代形态!
在大型项目中,API 数量庞大、命名不一,导致“找接口”耗时费力。传统工具依赖关键词搜索,难以应对语义模糊或命名不规范的场景。Apipost AI 智能搜索功能,支持自然语言查询,如“和用户登录有关的接口”,系统可理解语义并精准匹配目标接口。无论是新人上手、模糊查找还是批量定位,都能大幅提升检索效率,降低协作成本。从关键词到语义理解,智能搜索让开发者少花时间找接口,多专注核心开发,真正实现高效协作。
下一篇
oss云网关配置