- 浏览: 695450 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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配置文件编写和加载方法介绍
本文介绍bbossgroups持久层ConfigSQLExecutor组件的典型用法-预编译操作
本文分三部分:
1.dao层写法
2.sql配置文件配置方法(可以支持多种数据库sql配置)
3.涉及的datasource的配置
第一部分 dao层写法
请问楼主:“findDstjList”是什么意思?
这个代表dao方法的一个名字,同时也代表sql配置文件中相应的sql语句的配置名称:
本文分三部分:
1.dao层写法
2.sql配置文件配置方法(可以支持多种数据库sql配置)
3.涉及的datasource的配置
第一部分 dao层写法
package com.chinacreator.tjbb.dao.impl; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.chinacreator.tjbb.dao.SjxftjDao; import com.chinacreator.tjbb.dto.DssjxfTj; import com.chinacreator.tjbb.dto.SjxftjDto; import com.frameworkset.common.poolman.ConfigSQLExecutor; import com.frameworkset.common.poolman.Record; import com.frameworkset.common.poolman.handle.NullRowHandler; public class SjxftjDaoImpl implements SjxftjDao{ public static final String DBNAME = "stsmc"; private static ConfigSQLExecutor executor = new ConfigSQLExecutor("com/chinacreator/tjbb/dao/impl/stxftj.xml"); public List<SjxftjDto> findSjxftjList() throws Exception{ return executor.queryListWithDBName(SjxftjDto.class, DBNAME, "findSjxftjList"); } public List<DssjxfTj> findDstjList(String startDate,String endDate, String tbname) throws Exception{ return executor.queryListWithDBName(DssjxfTj.class, DBNAME, "findDstjList", startDate,endDate,tbname); } public List<String> findDsMcList(String date) throws Exception{ final List<String> list = new ArrayList<String>(); executor.queryWithDBNameByNullRowHandler(new NullRowHandler() { @Override public void handleRow(Record record) throws Exception { list.add(record.getString("DSMC")); } }, DBNAME, "findDsMcList", date); return list; } public Map<String, String> findDsMcMap(String startDate,String endDate) throws Exception { final Map<String, String> map = new HashMap<String, String>(); executor.queryWithDBNameByNullRowHandler(new NullRowHandler() { @Override public void handleRow(Record record) throws Exception { String mc = record.getString("DSMC"); String dm = record.getString("DSDM"); map.put(dm, mc); } }, DBNAME, "findDsMcMap", startDate,endDate); return map; } }
评论
4 楼
yin_bp
2011-06-29
ainidehsj 写道
public List<DssjxfTj> findDstjList(String startDate,String endDate, String tbname) throws Exception{ return executor.queryListWithDBName(DssjxfTj.class, DBNAME, "findDstjList", startDate,endDate,tbname); }
请问楼主:“findDstjList”是什么意思?
这个代表dao方法的一个名字,同时也代表sql配置文件中相应的sql语句的配置名称:
<property name="findDstjList"> <![CDATA[ SELECT b.ds_mc DSDM, sum(b.lines_output) XFZL, sum(NVL(b.ds_lines_output, 0)) RKZL, sum(NVL(b.ds_lines_updated, 0)) GXZL FROM T_LOG_COUNT b where to_date(b.startdate, 'yyyy-mm-dd') >= to_date(?, 'yyyy-mm-dd') and to_date(b.startdate, 'yyyy-mm-dd') <= to_date(?, 'yyyy-mm-dd') and data_type = ? group by b.ds_mc order by DSDM ]]> </property>
3 楼
ainidehsj
2011-06-29
public List<DssjxfTj> findDstjList(String startDate,String endDate, String tbname) throws Exception{
27. return executor.queryListWithDBName(DssjxfTj.class, DBNAME, "findDstjList", startDate,endDate,tbname);
28. }
请问楼主:“findDstjList”是什么意思?
27. return executor.queryListWithDBName(DssjxfTj.class, DBNAME, "findDstjList", startDate,endDate,tbname);
28. }
请问楼主:“findDstjList”是什么意思?
2 楼
yin_bp
2011-06-29
第三部分.涉及的datasource的配置
<?xml version="1.0" encoding="gb2312"?> <poolman> <datasource> <dbname>stsmc</dbname> <loadmetadata>false</loadmetadata> <jndiName>jdbc/mysql-ds</jndiName> <driver>com.mysql.jdbc.Driver</driver> <url>jdbc:mysql://172.16.33.46:3306/etl</url> <username>root</username> <password>123456</password> <txIsolationLevel>READ_COMMITTED</txIsolationLevel> <nativeResults>true</nativeResults> <poolPreparedStatements>false</poolPreparedStatements> <initialConnections>2</initialConnections> <minimumSize>0</minimumSize> <maximumSize>10</maximumSize> <!--控制connection达到maximumSize是否允许再创建新的connection true:允许,缺省值 false:不允许--> <maximumSoft>false</maximumSoft> <!-- 是否检测超时链接(事务超时链接) true-检测,如果检测到有事务超时的链接,系统将强制回收(释放)该链接 false-不检测,默认值 --> <removeAbandoned>true</removeAbandoned> <!-- 链接使用超时时间(事务超时时间) 单位:秒 --> <userTimeout>50</userTimeout> <!-- 系统强制回收链接时,是否输出后台日志 true-输出,默认值 false-不输出 --> <logAbandoned>true</logAbandoned> <!-- 数据库会话是否是readonly,缺省为false --> <readOnly>false</readOnly> <!-- 对应属性:timeBetweenEvictionRunsMillis the amount of time (in milliseconds) to sleep between examining idle objects for eviction --> <skimmerFrequency>10</skimmerFrequency> <!--对应于minEvictableIdleTimeMillis 属性: minEvictableIdleTimeMillis the minimum number of milliseconds an object can sit idle in the pool before it is eligable for evcition 单位:秒 空闲链接回收时间,空闲时间超过指定的值时,将被回收 --> <connectionTimeout>60</connectionTimeout> <!-- numTestsPerEvictionRun the number of idle objects to examine per run within the idle object eviction thread (if any) 每次回收的链接个数 --> <shrinkBy>5</shrinkBy> <!-- /** * 检测空闲链接处理时,是否对空闲链接进行有效性检查控制开关 * true-检查,都检查到有无效链接时,直接销毁无效链接 * false-不检查,缺省值 */ --> <testWhileidle>true</testWhileidle> <!-- 定义数据库主键生成机制 缺省的采用系统自带的主键生成机制, 外步程序可以覆盖系统主键生成机制 由值来决定 auto:自动,一般在生产环境下采用该种模式, 解决了单个应用并发访问数据库添加记录产生冲突的问题,效率高,如果生产环境下有多个应用并发访问同一数据库时,必须采用composite模式 composite:结合自动和实时从数据库中获取最大的主键值两种方式来处理,开发环境下建议采用该种模式, 解决了多个应用同时访问数据库添加记录时产生冲突的问题,效率相对较低, 如果生产环境下有多个应用并发访问同一数据库时,必须采用composite模式 --> <keygenerate>composite</keygenerate> <!--poolman的日志信息输出改用log4j来输出到日志文件,相关的配置见log4j.properties文件--> <!--<logFile>dbaccess.log</logFile> <debugging>true</debugging>--> <!-- 请求链接时等待时间,单位:秒 客服端程序请求链接等待时间超过指定值时,后台包等待超时异常 --> <maxWait>60</maxWait> <!-- 链接有效性检查sql语句 --> <validationQuery>select 1</validationQuery> <autoprimarykey>false</autoprimarykey> <showsql>false</showsql> </datasource> </poolman>
1 楼
yin_bp
2011-06-29
第二部分.sql配置文件配置方法(可以支持多种数据库sql配置)
<?xml version="1.0" encoding="UTF-8"?> <properties> <property name="findSjxftjList"> <![CDATA[ SELECT * FROM T_TJ_SJXFLBXX WHERE 1=1 ]]> </property> <property name="findDsMcMap"> <![CDATA[ select distinct DSMC,DS_MC DSDM FROM T_LOG_COUNT where startdate = ( SELECT MAX(b.startdate) FROM T_LOG_COUNT b where to_date(b.startdate,'yyyy-mm-dd') >= to_date(?,'yyyy-mm-dd') and to_date(b.startdate,'yyyy-mm-dd') <= to_date(?,'yyyy-mm-dd')) ORDER BY DSDM ]]> </property> <property name="findDsMcMap-mysql"> <![CDATA[ select distinct DSMC,DS_MC DSDM FROM T_LOG_COUNT where startdate = ( SELECT MAX(b.startdate) FROM T_LOG_COUNT b where b.startdate >= ? and b.startdate <= ?) ORDER BY DSDM ]]> </property> <property name="findDsMcList"> <![CDATA[ select distinct dsmc FROM T_LOG_COUNT b where b.startdate = ? ]]> </property> <property name="findDstjList"> <![CDATA[ SELECT b.ds_mc DSDM, sum(b.lines_output) XFZL, sum(NVL(b.ds_lines_output, 0)) RKZL, sum(NVL(b.ds_lines_updated, 0)) GXZL FROM T_LOG_COUNT b where to_date(b.startdate, 'yyyy-mm-dd') >= to_date(?, 'yyyy-mm-dd') and to_date(b.startdate, 'yyyy-mm-dd') <= to_date(?, 'yyyy-mm-dd') and data_type = ? group by b.ds_mc order by DSDM ]]> </property> <property name="findDstjList-mysql"> <![CDATA[ SELECT b.ds_mc DSDM,sum(b.lines_output) XFZL,sum(ifnull(b.ds_lines_output, 0)) RKZL,sum(ifnull(b.ds_lines_updated, 0)) GXZL FROM T_LOG_COUNT b where b.startdate >= ? and b.startdate <= ? and data_type = ? group by b.ds_mc order by DSDM ]]> </property> </properties>
发表评论
-
bboss 持久层数据源引用外部属性配置介绍
2018-12-29 21:47 1082bboss 持久层数据源外部属性配置引用介绍 bboss持久 ... -
bboss持久层开启和关闭自带主键机制
2017-08-17 11:56 753bboss持久层开启和关闭自带主键机制 请访问文档: bbos ... -
bboss高性能db批处理功能使用方法介绍
2017-05-14 21:28 2138bboss持久层在v5.0.3.5中新增简单的高效的db批处理 ... -
bboss持久层公共sql片段定义和引用方法说明
2017-03-03 13:05 1124bboss持久层公共sql片段定义和引用方法说明 在配置sq ... -
最新版本mysql jdbc驱动包获取表定义信息空指针异常处理方法
2016-12-15 10:24 1355在使用最新的mysql-connector-java 6.0. ... -
持久层快速入门系列一
2016-08-19 13:00 1261持久层快速入门 先在应用中导入bboss 持久层(bboss ... -
bboss与spring中配置和引用bboss数据源和bboss dao组件方法说明
2016-08-10 16:04 918首先在项目中导入bboss 持久层包: maven坐标 & ... -
bboss 持久层sql xml配置文件编写和加载方法介绍
2016-04-05 13:14 1670bboss 持久层sql xml配置文件编写和加载方法介绍 通 ... -
bboss持久层设置数据库查询fetchsize参数方法
2015-11-06 11:54 1017bboss持久层设置数据库查询fetchsize参数方法 j ... -
bboss持久层快速入门教程
2015-09-19 13:49 1589bboss持久层快速入门教程,快速搭建bboss持久层的开 ... -
bboss持久层数据库适配器编写和注册方法
2015-02-06 15:21 977bboss持久层数据库适配器编写和注册方法 bboss持久层默 ... -
bboss模糊查询、动态sql、批处理资料荟萃
2015-01-30 12:03 2369bboss模糊查询、动态sql、批处理资料荟萃 bboss持 ... -
bboss持久层查询元数据缓存机制开启方法
2014-11-18 12:03 1021bboss持久层为了提升数据库查询操作性能,提供了对查 ... -
bboss内置数据源apache dbcp与druid数据源切换方法
2014-09-23 09:59 1387bboss内置数据源与druid数据源切换方法 bboss内置 ... -
bboss持久层多数据源配置及多数据库事务控制使用方法
2014-05-11 20:24 2974bboss持久层多数据源配置及使用方法,持久层框架及demo下 ... -
bboss持久层demo使用说明
2014-03-11 09:38 1209持久层案例可以用svn客户端下载eclipse工程,导入ecl ... -
bboss持久层More分页查询API使用介绍
2013-10-18 16:17 1473为了更好地提高数据库分页查询的效率,bboss持久层在Conf ... -
bboss持久层操作Clob和Blob字段示例
2013-09-09 13:29 1229bboss持久层操作Clob和Blob非常方便,基于bboss ... -
bboss持久层ormaping机制详解
2013-09-04 21:04 1155bboss持久层针对db操作即提供了原始sql语句的支持,又提 ... -
bboss持久层改进支持模块sql配置文件引用其它模块sql配置文件中sql语句
2013-09-01 22:23 932bboss持久层改进支持模块sql配置文件引用其它模块sql配 ...
相关推荐
在Java开发中,bbossgroups 3.1框架提供了一个名为SQLExecutor的组件,用于简化数据库操作。这个组件提供了一种高效的批处理和单条SQL执行的方式,它基于Apache License 2.0开源,允许开发者在遵守相应条款的情况下...
通过依赖注入,可以将数据库访问组件注入到DAO中,使得业务组件可以直接调用DAO方法进行数据操作。 业务组件管理及注入DAO组件是业务逻辑层的核心。业务组件通常包含了复杂的业务规则,它们通过依赖注入的方式获取...
### bbossgroups 3.0 发布,国内首款集成多技术的企业级J2EE开发框架 #### 概述 近日,bbossgroups 3.0 正式发布,这款国内首款集AOP(面向切面编程)、MVC(模型-视图-控制器)、Persistent(持久化)、JSP ...
**bbossgroups 3.1培训教程** bbossgroups 3.1是一个企业级J2EE开发框架,自2005年以来不断发展和完善,旨在提供高效、稳定的开发工具和解决方案。本教程将深入介绍bbossgroups 3.1的主要特性、发展历程以及其在...
本文将深入探讨Bbossgroups的体系架构,包括AOP内核、MVC框架、标签库、国际化、主题管理、RESTful架构、持久层框架、分布式事件框架、任务调度、服务发布与访问、安全管理等多个方面。 1. **AOP内核**:AOP(面向...
1. **模块化设计**:bbossgroups 3.0 采用模块化设计,使得各个组件可以独立使用,增强了代码的复用性和可维护性。开发者可以根据项目需求选择相应的模块,降低系统的复杂度。 2. **高性能的消息队列**:...
2. **数据库操作**:BBoss提供了便捷的数据访问层(DAO),支持SQL动态生成、事务管理以及多种数据库的兼容性,使得数据库操作变得简单且高效。 3. **服务治理**:框架内置了服务注册与发现机制,可以实现微服务...
12. bboss:bbossgroups是首个集成AOP、MVC、持久层、JSP标签库、分布式RPC服务和序列化组件的JavaEE企业级开发框架。 13. BeeFramework:BeeFramework是iOS平台的快速开发框架,特点包括易学易用、组件丰富,提供...
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的elasticsearch来关联数据库。环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5...
它以类似于mybatis的方式操作和访问elasticsearch。 环保要求 JDK 要求:JDK 1.7+ Elasticsearch 版本要求:1.X,2.X,5.X,6.X,7.x,+ Spring Booter 1.x,2.x,+ bbos 降 老板 弹性搜索 弹簧靴 全部 1.x 1.x,2.x 全部 2....
该框架包含222个文件,包括164个Java源文件、14个XML配置文件、6个Gradle构建文件、6个JAR包文件、6个属性文件等,旨在支持跨域应用集群节点的会话共享与监控,并提供示例站点http://session.bbossgroups.com/...
提供的压缩包文件"bbossgroups 框架培训教程.pptx"和"Bbossgroups演示文档.pptx"可能包含了更多关于bboss mvc框架的详细信息和使用示例,包括如何配置和使用JSONP等特性。建议查阅这些文档以获取更深入的理解。 总...