bboss持久层在v5.0.3.5中新增简单的高效的db批处理功能,本文介绍使用方法。
首先在项目中导入bboss 持久层包:
maven坐标
<dependency>
<groupId>com.bbossgroups</groupId>
<artifactId>bboss-persistent</artifactId>
<version>5.8.2</version>
</dependency>
gradle坐标
compile 'com.bbossgroups:bboss-persistent:5.8.2'
轻量级批处理方法
直接操作sql语句的组件SQLExecutor
com.frameworkset.common.poolman.SQLExecutor
public static <T> void executeBatch(String sql,List<T> datas,int batchsize, BatchHandler<T> batchHandler) throws SQLException
//指定数据源dbname
public static <T> void executeBatch(String dbname,String sql,List<T> datas,int batchsize, BatchHandler<T> batchHandler) throws SQLException
加载sql配置文件的组件ConfigSQLExecutor
com.frameworkset.common.poolman.ConfigSQLExecutor
public <T> void executeBatch(String sqlname,List<T> datas,int batchsize, BatchHandler<T> batchHandler) throws SQLException
//指定数据源dbname
public <T> void executeBatch(String dbname,String sqlname,List<T> datas,int batchsize, BatchHandler<T> batchHandler) throws SQLException
批处理语句参数设置器:
package com.frameworkset.common.poolman;
/**
* 轻量级jdbc批处理操作记录设置器
*/
import java.sql.PreparedStatement;
import java.sql.SQLException;
public interface BatchHandler<T> {
/**
*
* @param stmt jdbc PreparedStatement parameterIndex the first parameter is 1, the second is 2, ...
* x the parameter value
* @param record 当前操作的变量
* @param i 行索引
* @throws SQLException
*/
public void handler(PreparedStatement stmt,T record,int i) throws SQLException;
}
使用实例
以SQLExecutor组件来做为例子介绍如下:
@Test
public void testBatch() throws SQLException {
List<Map<String,String>> datas = new ArrayList<Map<String,String>>();//构造数据
for(int i = 0; i < 100000; i ++){
Map<String,String> data = new HashMap<String, String>();
if(i % 3 == 0)
data.put("name","jack_"+i);
else if(i % 3 == 1)
data.put("name","brown_"+i);
else if(i % 3 == 2)
data.put("name","john_"+i);
datas.add(data);
}
SQLExecutor.delete("delete from batchtest");//清空表数据
//批处理执行
SQLExecutor.executeBatch("insert into batchtest (name) values(?)", datas, 10,new BatchHandler<Map<String,String>>() {
@Override
public void handler(PreparedStatement stmt, Map<String,String> record, int i) throws SQLException {
stmt.setString(1,record.get("name"));
}
});
}
分享到:
相关推荐
3. **销毁清理**:当应用关闭或过滤器不再使用时,`destroy()`方法会被调用,用于清理资源。 在BBoss框架中,安全认证通常涉及以下步骤: 1. **用户登录**:用户通过提交用户名和密码发起登录请求,服务器验证这些...
【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...
BBoss是一个轻量级的企业级应用开发框架,提供了IOC(Inversion of Control)功能,使得对象之间的依赖关系可以通过配置文件进行管理。本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和...
bboss-datatran 的流批一体功能打破了传统流式处理与批处理之间的界限。它允许用户在同一平台上处理实时流数据和批量历史数据,降低了系统复杂性,提高了数据处理的实时性和一致性。这对于实时监控、在线分析以及...
4. **AOP(面向切面编程)**:BBoss MVCDemo支持AOP,可以实现如事务管理、日志记录、权限控制等功能,提高代码的复用性和可维护性。 5. **国际化与本地化**:框架内置了国际化和本地化支持,使得应用可以根据用户...
bboss会话共享通过为应用提供统一的会话管理功能,保证了即使用户被切换到其他节点,也能够继续访问之前保存的会话数据。 其次,bboss会话共享支持跨域和跨应用的会话共享,并能实现单点登录(SSO)功能。单点登录...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
例如,可以使用bboss的批处理API一次性处理大量数据,提高数据导入效率。 7. **应用场景** 结合bboss和Elasticsearch,开发者可以轻松实现日志实时分析、用户行为追踪、商品推荐等业务场景,通过DSL实现复杂查询和...
1. **组件化开发**:BBoss支持模块化和组件化的开发模式,允许开发者根据项目需求选择必要的功能组件,避免了传统框架中“大而全”的问题,降低了系统的复杂度。 2. **数据库操作**:BBoss提供了便捷的数据访问层...
5. **高级功能**: 学习如何利用 BBoss 进行聚合分析、自定义插件开发、性能优化等进阶操作。 **五、视频教程** 1. **搭建bboss elasticsearch开发环境.wmv**: 这个视频将指导你完成从安装Elasticsearch到配置BBoss...
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。 同时也是一个高性能Elasticsearch orm 客户端,100%兼容es各个版本 ...
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
本培训文档将介绍集群session管理的发展历史、bbosssession的架构及特点、性能指标、与应用的集成方式、部署模式以及场景演示等,旨在帮助技术人员理解并掌握bbosssession的使用方法和优势。 一、集群session管理...
2. `jackson-databind-2.9.8.jar`:Jackson是JSON处理库,`databind`模块实现了将Java对象映射到JSON和反向映射的功能,对于Elasticsearch的数据导入和导出非常关键。 3. `bboss-util-5.5.0.jar`和`bboss-...
6. **性能优化**:BBoss Persistent还可能包括针对CLOB和BLOB的性能优化,比如预读取、延迟加载等策略,以提高应用的响应速度和整体性能。 总结来说,BBoss Persistent 1.0.2在处理CLOB和BLOB这类大字段时,通过...
bboss,全称为Business Basic Open Source,是一个开源的企业级开发框架,它为构建企业级应用提供了丰富的功能和组件。 首先,我们来详细探讨环境搭建的过程。bboss新版平台的开发环境搭建通常包括以下几个关键步骤...
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的elasticsearch来关联数据库。环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5...