`

bboss persistent 1.0.3 发布,功能变更清单见正文

阅读更多

下载地址:

https://sourceforge.net/project/showfiles.php?group_id=238653&package_id=302766&release_id=647144

 

archive directory:
src--source code
test--test source code
conf--contain database pool config files
listener--database transaction leak listener file
lib--bboss persistent framework depends jars
dist--bboss persistent release package.

update function list:

------------------------------
 1.0.3 - 2009-4-13
------------------------------

 o 单独使用poolman,未建立表tableinfo,后台报SQLException异常
修改程序:
com/frameworkset/common/poolman/management/BaseTableManager.java

 o sql server 2005翻页查询异常问题
原因是sqlserver中需要这样创建statement
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
但是poolman中是这样获取Statement :stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
因此报下面的错误:
com.microsoft.sqlserver.jdbc.SQLServerException: 不支持此游标类型/并发组
合。

修改方法:
通过适配器方法来获取游标类型:

修改的程序
com\frameworkset\orm\adapter\DB.java
com\frameworkset\orm\adapter\DBMSSQL.java
com\frameworkset\common\poolman\StatementInfo.java
com\frameworkset\common\poolman\DBUtil.java


o 增加获取DataSource的接口
修改的程序:
com\frameworkset\common\poolman\util\SQLUtil.java
增加以下三个方法
获取缺省连接池对应的datasource
public static DataSource getDataSource()
 
获取给定数据库连接池名对应的datasource
 public static DataSource getDataSource(String dbname)
     
通过jndi名称查找数据源
  public static DataSource getDataSourceByJNDI(String jndiname) throws NamingException
     

com/frameworkset/common/poolman/handle/type/CallableStatementResultSet.java
增加以下方法:
public Object getObject(int arg0, Map arg1) throws SQLException


com/frameworkset/common/poolman/util/JDBCPool.java
增加方法:
public static DataSource find(String jndiName) throws NamingException


增加全局变量:
public static Context ctx = null;
 
o 新增bboss jndi 上下文环境
新增jndi上下文环境,解决系统脱离应用服务器单独运行时无法进行jndi绑定的问题。
新增和修改的程序如下:
com/frameworkset/common/poolman/jndi/DummyContext.java(新增)
com/frameworkset/common/poolman/jndi/DummyContextFactory.java(新增)
com/frameworkset/common/poolman/util/JDBCPool.java(修改)

 

o DBUtil执行两个表的联合查询,如果两表的查询字段中包含相同字段名但没有指定这些字段的别名时,查询结果中前面的表字段的值被后面的表字段的值覆盖。例如:
select table_a.id,table_b.id from table_a,table_b;

代码段如下:
DBUtil dbUtil = new DBUtil();
  dbUtil.executeSelect("select table_a.id,table_b.id from table_a,table_b ");
  System.out.println("table_a.id" + dbUtil.getInt(0, 0));
  System.out.println("table_b.id" + dbUtil.getInt(0, 1));

查询的结果显示table_a.id的值变为table_b.id字段的值。

原因分析:

执行本次查询后,结果集元数据为:
[id,id]
可见两个查询字段的列名相同,有没有指定别名字段,由于DBUtil临时存放结果集的数据结构为一个hash表,key为字段名,值为相应字段的值,这样就导致原来的字段的值被前面的字段的值覆盖。
解决办法:
A. 为字段指定不同的别名
B. 修改原来的存储机制,为相同的列名建立不同的别名
建立别名的规则为:列名+#$_+列索引,例如:
将原来的[id,id]转换为[id,id#$_1]


修改的程序清单为:
/common_old_dbcp/src/com/frameworkset/common/poolman/sql/PoolManResultSetMetaData.java
/common_old_dbcp/src/com/frameworkset/common/poolman/ResultMap.java
/common_old_dbcp/src/com/frameworkset/common/poolman/Record.java
/common_old_dbcp/src/com/frameworkset/common/poolman/DBUtil.java

测试脚本:
create table TABLE_A
(
  ID  NUMBER(10),
  ID1 NUMBER(10)
)
/
create table TABLE_b
(
  ID  NUMBER(10),
  ID1 NUMBER(10)
)
/
insert into table_a (id,id1) value(1,11)
/
insert into table_b (id,id1) value(2,22)
/

测试程序:
/common_old_dbcp/test/com/frameworkset/common/TestTwoTablewithSameCol.java
执行查询结果正确。

o  sqlserver中如果数据库表有列的类型是char(1),那么, DBUtil查询这个字段的时候,就报错
出错的原因可能是poolman.xml文件中指定的数据库驱动程序不正确。
<jndiName>hb_datasource_jndiname</jndiName>
<driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
正确的配法为:
<jndiName>hb_datasource_jndiname</jndiName>
<driver>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver>
现在不明确是否存在com.microsoft. sqlserver.jdbc.SQLServerDriver驱动程序,
估计这个驱动程序是sqlserver 2005版本的驱动程序。
需要修正程序:
/common_old_dbcp/src/com/frameworkset/orm/adapter/DBFactory.java
以便能够正确地找到sql server的适配器(不同数据库的适配器,是通过驱动程序查找的)。修正后,问题解决。

o  改造oracle分页机制
修改程序:
com/frameworkset/orm/adapter/DBOracle.java

 


------------------------------
 1.0.2 - DEC 24, 2008
------------------------------

 o Improved  blob/clob handle perfermence.
 o Fixed maybe memery leaker in handle blob/clob columns.

First version of bboss persitent released.

------------------------------
 1.0.1 - DEC 14, 2008
------------------------------

First version of bboss persitent released.

[http://blog.csdn.net/yin_bp]

1
0
分享到:
评论

相关推荐

    bboss persistent 1.0.2中方便地实现大字段(clob,blob)的处理

    3. **事务管理**:在TestTransaction.sql这个文件名中,我们可以推测BBoss Persistent也包含了事务管理功能。在处理CLOB和BLOB数据时,事务是至关重要的,因为它们确保了数据的一致性和完整性。如果在操作过程中发生...

    bboss 安全认证过滤器功能介绍

    通过阅读`SYSAuthenticateFilter.java`的源码,我们可以深入了解BBoss框架如何实现这些功能,并学习如何自定义和扩展安全认证过滤器,以满足特定的应用场景需求。源码分析有助于我们更好地理解和控制Web应用的安全...

    springboot整合bboss es增删改查测试demo代码

    本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...

    bboss会话共享培训文档

    bboss会话共享通过为应用提供统一的会话管理功能,保证了即使用户被切换到其他节点,也能够继续访问之前保存的会话数据。 其次,bboss会话共享支持跨域和跨应用的会话共享,并能实现单点登录(SSO)功能。单点登录...

    bboss mvcdemo 下载地址

    4. **AOP(面向切面编程)**:BBoss MVCDemo支持AOP,可以实现如事务管理、日志记录、权限控制等功能,提高代码的复用性和可维护性。 5. **国际化与本地化**:框架内置了国际化和本地化支持,使得应用可以根据用户...

    企业级J2EE开源框架bboss

    1. **组件化开发**:BBoss支持模块化和组件化的开发模式,允许开发者根据项目需求选择必要的功能组件,避免了传统框架中“大而全”的问题,降低了系统的复杂度。 2. **数据库操作**:BBoss提供了便捷的数据访问层...

    由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能

    **bboss-datatran** 是一个由 **bboss** 社区开源的高效数据处理工具,专注于数据采集、数据清洗转换以及数据入库等任务。它实现了流批一体化的数据处理能力,使得用户能够灵活地应对实时和批量的数据处理场景。在...

    bboss elasticsearch-5.7.8.rar

    3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    2. **插入数据**: 将业务数据插入到索引中,BBoss 提供了批量插入功能,可以高效处理大量数据。 3. **查询数据**: 构建查询条件,通过 BBoss API 发送请求并解析返回结果。 4. **更新和删除**: 更新已存在的文档,...

    springboot集成ElasticsearchBboss调用Elasticsearch.md

    springboot集成ElasticsearchBboss调用Elasticsearch的案例分享

    bboss+es基本操作示例.zip

    **bboss+es基本操作示例** 在Java开发中,Elasticsearch(ES)作为一种流行的分布式搜索引擎和数据分析工具,常用于大数据处理和实时分析。bboss(Business Basic Operation Support)框架则是针对Elasticsearch...

    由 bboss 开源的数据采集同步ETL工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能

    bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。 同时也是一个高性能Elasticsearch orm 客户端,100%兼容es各个版本 ...

    bboss-db-elasticsearch-tool-master_java_

    【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...

    bboss ioc配置文件中使用外部属性文件介绍

    BBoss是一个轻量级的企业级应用开发框架,提供了IOC(Inversion of Control)功能,使得对象之间的依赖关系可以通过配置文件进行管理。本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和...

    J2EE企业级开源框架bboss v5.0.6.8

    bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...

    bboss-soa.jar

    官方版本,亲测可用

    bboss会话共享培训文档分享

    在存储服务方面,采用Redis相较于Mongodb在性能上表现更优,但Redis作为非真正的Nosql数据库,其提供的监控统计功能相对薄弱。在实际生产环境中,bbosssession的表现良好,并能够快速响应各种会话管理需求。 四、...

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿.pptx

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿

Global site tag (gtag.js) - Google Analytics