- 浏览: 670147 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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配置文件编写和加载方法介绍
bboss 持久层框架使用最佳实践-带连接(connection)参数接口和不带连接参数接口的选择
bboss项目下载列表 在sourceforge访问地址为:
https://sourceforge.net/project/showfiles.php?group_id=238653
bboss 持久层框架提供了两类访问数据库的接口:带connection参数的接口和不带connection参数的接口。这两类接口在各种场合下面都可以使用,实现的功能都是一样的,但是适用的场合还是不一样的,下面分别描述。
- 带连接connection参数的接口
带连接connection参数的接口在访问数据库时不再向bboss数据库连接池申请连接而直接使用外部参数传入的connection,这样一个connection可以供多个数据库操作使用,适用于数据库操作比较密集的环境,这样能够大大地提升应用程序的性能;如果在这种情况下使用不带connection参数的接口,意味着每次访问数据库都要向bboss连接池申请connection,由于连接池是一种串行化的带并发锁定的组件,频繁的申请和释放将导致严重的系统性能开销,最终导致系统性能缓慢。使用带connection参数的方法时需要确保最后关闭connection,防止连接泄漏。使用的步骤如下:
a.调用DBUtil.getConnection()或者DBUtil.getConnection(String dbname)方法申请一个数据库连接
b.访问DBUtil或者PreparedDBUtil或者CallableDBUtil的带connection参数的方法传入刚申请的connection对象进行数据库操作
c.操作完毕后在finally块中关闭连接
这里以预编译操作接口(其他接口都提供了类似功能不一一枚举)为例,举例如下:
PreparedDBUtil db = new PreparedDBUtil();
Connection con = null;
try {
con = DBUtil.getConection(); //申请连接
db.preparedDelete("delete from test");
db.executePrepared(con);//使用连接
db.preparedInsert("insert into test(id,name) values(?,?)");
db.setString(1, "1");
db.setString(2, "name");
db.executePrepared(con);//使用连接
db.preparedInsert("insert into test(name) values(?)");
db.setString(1, "name");
db.executePrepared(con);//使用连接
db.preparedInsert("insert into test(name,clobname,blobname) values(?,?,?)");
db.setString(1, "name");
db.setClob(2, "content");
db.setBlob(3, "content".getBytes());
db.executePrepared(con);//使用连接
db.preparedSelect("select * from test where name=?");
//db.setString(1, "1");
db.setString(1, "name");
db.executePrepared(con);//使用连接
for(int i = 0; i < db.size(); i ++)
{
System.out.println(i + " id=" + db.getString(i, "id"));
System.out.println(i + " name=" + db.getString(i, "name"));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try {
if(con != null)
con.close();//关闭连接
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2.不带连接参数的接口
不带connection参数的方法适用于以下场景:
单一的数据库操作环境
事务环境中的数据库操作接口
下面举例说明:
- 单一的数据库操作
PreparedDBUtil db = new PreparedDBUtil();
try {
db.preparedDelete("delete from test");
db.executePrepared();//使用不带连接的方法
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- 事务环境下的多次数据库操作
PreparedDBUtil db = new PreparedDBUtil();
TransactionManager tm = new TransactionManager();
try {
tm.begin();
db.preparedDelete("delete from test");
db.executePrepared();
db.preparedInsert("insert into test(id,name) values(?,?)");
db.setString(1, "test1");
db.setString(2, "name");
db.executePrepared();
db.preparedInsert("insert into test(name) values(?)");
db.setString(1, "name auto id");
db.executePrepared();
db.preparedInsert("insert into test(name,clobname,blobname) values(?,?,?)");
db.setString(1, "name with clob and blob");
db.setClob(2, "content");
db.setBlob(3, "content".getBytes());
db.executePrepared();
db.preparedSelect("select * from test where name=?");
//db.setString(1, "1");
db.setString(1, "name");
db.executePrepared();
for(int i = 0; i < db.size(); i ++)
{
System.out.println(i + " id=" + db.getString(i, "id"));
System.out.println(i + " name=" + db.getString(i, "name"));
}
tm.commit();
} catch (Exception e) {
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
发表评论
-
bboss 持久层数据源引用外部属性配置介绍
2018-12-29 21:47 989bboss 持久层数据源外部属性配置引用介绍 bboss持久 ... -
bboss持久层开启和关闭自带主键机制
2017-08-17 11:56 695bboss持久层开启和关闭自带主键机制 请访问文档: bbos ... -
bboss高性能db批处理功能使用方法介绍
2017-05-14 21:28 2064bboss持久层在v5.0.3.5中新增简单的高效的db批处理 ... -
bboss持久层公共sql片段定义和引用方法说明
2017-03-03 13:05 1064bboss持久层公共sql片段定义和引用方法说明 在配置sq ... -
最新版本mysql jdbc驱动包获取表定义信息空指针异常处理方法
2016-12-15 10:24 1277在使用最新的mysql-connector-java 6.0. ... -
持久层快速入门系列一
2016-08-19 13:00 1206持久层快速入门 先在应用中导入bboss 持久层(bboss ... -
bboss与spring中配置和引用bboss数据源和bboss dao组件方法说明
2016-08-10 16:04 866首先在项目中导入bboss 持久层包: maven坐标 & ... -
bboss 持久层sql xml配置文件编写和加载方法介绍
2016-04-05 13:14 1539bboss 持久层sql xml配置文件编写和加载方法介绍 通 ... -
bboss持久层设置数据库查询fetchsize参数方法
2015-11-06 11:54 966bboss持久层设置数据库查询fetchsize参数方法 j ... -
bboss持久层快速入门教程
2015-09-19 13:49 1532bboss持久层快速入门教程,快速搭建bboss持久层的开 ... -
bboss持久层数据库适配器编写和注册方法
2015-02-06 15:21 925bboss持久层数据库适配器编写和注册方法 bboss持久层默 ... -
bboss模糊查询、动态sql、批处理资料荟萃
2015-01-30 12:03 2275bboss模糊查询、动态sql、批处理资料荟萃 bboss持 ... -
bboss持久层查询元数据缓存机制开启方法
2014-11-18 12:03 972bboss持久层为了提升数据库查询操作性能,提供了对查 ... -
bboss内置数据源apache dbcp与druid数据源切换方法
2014-09-23 09:59 1328bboss内置数据源与druid数据源切换方法 bboss内置 ... -
bboss持久层多数据源配置及多数据库事务控制使用方法
2014-05-11 20:24 2854bboss持久层多数据源配置及使用方法,持久层框架及demo下 ... -
bboss持久层demo使用说明
2014-03-11 09:38 1125持久层案例可以用svn客户端下载eclipse工程,导入ecl ... -
bboss持久层More分页查询API使用介绍
2013-10-18 16:17 1325为了更好地提高数据库分页查询的效率,bboss持久层在Conf ... -
bboss持久层操作Clob和Blob字段示例
2013-09-09 13:29 1161bboss持久层操作Clob和Blob非常方便,基于bboss ... -
bboss持久层ormaping机制详解
2013-09-04 21:04 1094bboss持久层针对db操作即提供了原始sql语句的支持,又提 ... -
bboss持久层改进支持模块sql配置文件引用其它模块sql配置文件中sql语句
2013-09-01 22:23 888bboss持久层改进支持模块sql配置文件引用其它模块sql配 ...
相关推荐
基于java语言比mybatis更实用的orm框架,支持mysql、oracle、postgresql、sqlserver、db2、dm、mongodb
1.X,2.X,5.X,6.X,7.x,+ Spring Booter 1.x,2.x,+从源代码构建首先从获取源代码然后转到目录bboss-elastic-tran下的cmd窗口并运行gradle build命令: gradle install从源代码构建指南:如何使用Elasticsearch ...
NULL 博文链接:https://yin-bp.iteye.com/blog/2174863
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
企业级 J2EE 开源框架:bboss
elasticsearch的一个开源的辅助工具,可以批量,定时将数据库数据导入elasticsearch。
bboss es特点请访问: https://www.oschina.net/p/bboss-elastic
Bboss国际化实践.ppt
资源目录: 项目源码(eshelloword.rar) bboss elasticsearch开发入门教程.wmv 搭建bboss elasticsearch开发环境.wmv 说明.txt
官方版本,亲测可用
官方版本,亲测可用
bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...
bboss会话共享培训文档,学习bboss不可多得的资料,值得拥有。
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。
官方版本,亲测可用
NULL 博文链接:https://yin-bp.iteye.com/blog/1449900
bboss官方网站及bboss demo工程工程构建运行说明:1....构建成功后,会生成两个文件:distrib/bboss-site.jardistrib/bboss-site.warLicenseThe BBoss Framework is released under version 2.0 of the .
NULL 博文链接:https://yin-bp.iteye.com/blog/926166
整合springboot+bboss+elasticsearch,实现java对es的操作 需要修改的配置 application.yml文件: basePath:对应mapper.xml文件存放的位置 indexs:es的全部索引,以逗号分隔 es: basePath: esmapper indexs: ...