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

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中配置数据源请参考文章:
[url]http://yin-bp.iteye.com/blog/352599[/url]
ConfigSQLExecutor组件的更详细的使用实例请参考以下文章:
[url]http://yin-bp.iteye.com/blog/1112997[/url]
SQLExecutor组件的更详细的使用实例请参考以下文章:
[url]http://yin-bp.iteye.com/blog/1035991[/url]

这里说明的都是单条sql语句的预编译批处理操作,还可以参考以下多条sql语句同时进行预编译批处理的实例:
[url]https://github.com/bbossgroups/bbossgroups-3.5/blob/master/bboss-persistent/test/com/frameworkset/common/TestPreparedBatch.java[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值