- 浏览: 695082 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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:
<div class="quote_title ...
bboss 持久层sql xml配置文件编写和加载方法介绍
bboss 持久层sql xml配置文件编写和加载方法介绍
通过bboss持久数操作数据库首先要配置数据源,参考文档:
bboss持久层多数据源配置及多数据库事务控制使用方法
bboss 持久层配置apache dbcp,proxool,c3p0,Druid等数据源方法
1.sql xml文件编写
首先在项目中导入bboss 持久层包:
maven坐标
gradle坐标
sql xml文件存放在的工程的具体的包路径中,例如:
com/pdp/masterdata/hr/dao/HumanDataSql.xml
sql xml文件配置遵循bboss ioc 语法,sql语句语法分为原生sql和模板变量sql,原生sql样列:
模板变量sql中可以包含bboss自定义模板变量和基于velocity语法动态sql,样列:
动态sql更多介绍,可访问文档:http://yin-bp.iteye.com/blog/2181720
sql文件示例com/pdp/masterdata/hr/dao/HumanDataSql.xml:
2.加载配置文件初始化bboss 持久层通用dao
bboss sql配置文件遵循bboss ioc 语法,dao加载sql文件:
加载配置文件的dao的具体api使用,可以参考文档:http://yin-bp.iteye.com/blog/1112997
运行的时候查看sql,可以参考文档进行设置:
http://yin-bp.iteye.com/blog/1925173
通过bboss持久数操作数据库首先要配置数据源,参考文档:
bboss持久层多数据源配置及多数据库事务控制使用方法
bboss 持久层配置apache dbcp,proxool,c3p0,Druid等数据源方法
1.sql xml文件编写
首先在项目中导入bboss 持久层包:
maven坐标
<dependency> <groupId>com.bbossgroups</groupId> <artifactId>bboss-persistent</artifactId> <version>5.1.3</version> </dependency>
gradle坐标
compile 'com.bbossgroups:bboss-persistent:5.1.3'
sql xml文件存放在的工程的具体的包路径中,例如:
com/pdp/masterdata/hr/dao/HumanDataSql.xml
sql xml文件配置遵循bboss ioc 语法,sql语句语法分为原生sql和模板变量sql,原生sql样列:
select * from tableinfo where name like ?
模板变量sql中可以包含bboss自定义模板变量和基于velocity语法动态sql,样列:
update td_sm_organization set #if($orgName && !$orgName.equals("")) org_name=#[orgName], #end #if($parentId && !$parentId.equals("")) parent_id=#[parentId], #end #if($orgnumber && !$orgnumber.equals("")) orgnumber=#[orgnumber], #end #if($orgdesc && !$orgdesc.equals("")) orgdesc=#[orgdesc], #end #if($chargeorgid && !$chargeorgid.equals("")) chargeorgid=#[chargeorgid], #end #if($remark3 && !$remark3.equals("")) remark3=#[remark3], #end #if($remark5 && !$remark5.equals("")) remark5=#[remark5], #end #if($orgTreeLevel && !$orgTreeLevel.equals("")) org_tree_level=#[orgTreeLevel], #end #if($orgLevel && !$orgLevel.equals("")) org_level=#[orgLevel], #end #if($orgXzqm && !$orgXzqm.equals("")) org_xzqm=#[orgXzqm], #end org_id=#[orgId] where org_id=#[orgId]
动态sql更多介绍,可访问文档:http://yin-bp.iteye.com/blog/2181720
sql文件示例com/pdp/masterdata/hr/dao/HumanDataSql.xml:
<?xml version="1.0" encoding="UTF-8"?> <properties> <property name="tdSmUserSave"> <![CDATA[ insert into td_sm_user (user_id, user_sn, user_name, user_password, user_realname, user_pinyin, user_sex, user_hometel, user_worktel, user_worknumber, user_mobiletel1, user_mobiletel2, user_fax, user_oicq, user_birthday, user_address, user_postalcode, user_idcard, user_isvalid, user_regdate, user_logincount, user_type, remark1, remark2, remark3, remark4, remark5, past_time, dredge_time, lastlogin_date, worklength, politics, istaxmanager, logon_ip, cert_sn) values (#[userId], #[userSn], #if($userName && !$userName.equals("")) #[userName], #else #[userWorknumber], #end #[userPassword], #[userRealname], #[userPinyin], #[userSex], #[userHometel], #[userWorktel], #[userWorknumber], #[userMobiletel1], #[userMobiletel2], #[userFax], #[userOicq], #[userBirthday], #[userAddress], #[userPostalcode], #[userIdcard], #[userIsvalid], #[userRegdate], #[userLogincount], #if($userName && !$userName.equals("")) '1', #else '2', #end #[remark1], #[remark2], #[remark3], #[remark4], #[remark5], #[pastTime], #[dredgeTime], #[lastloginDate], #[worklength], #[politics], #[istaxmanager], #[logonIp], #[certSn]) ]]> </property> <property name="tdSmUserUpdate"> <![CDATA[ update td_sm_user set #if($userName && !$userName.equals("")) user_name=#[userName], #else user_name=#[userWorknumber], #end user_password=#[userPassword], user_realname=#[userRealname], user_pinyin=#[userPinyin], user_sex=#[userSex], user_hometel=#[userHometel], user_worktel=#[userWorktel], user_mobiletel1=#[userMobiletel1], user_mobiletel2=#[userMobiletel2], user_fax=#[userFax], user_oicq=#[userOicq], user_birthday=#[userBirthday], user_email=#[userEmail], user_address=#[userAddress], user_postalcode=#[userPostalcode], user_idcard=#[userIdcard], user_isvalid=#[userIsvalid], user_regdate=#[userRegdate], user_logincount=#[userLogincount], #if($userName && !$userName.equals("")) user_type='1', #else user_type='2', #end remark1=#[remark1], remark2=#[remark2], remark3=#[remark3], remark4=#[remark4], remark5=#[remark5], past_time=#[pastTime], dredge_time=#[dredgeTime], lastlogin_date=#[lastloginDate], worklength=#[worklength], politics=#[politics], istaxmanager=#[istaxmanager], logon_ip=#[logonIp], cert_sn=#[certSn] where user_worknumber=#[userWorknumber] ]]> </property> <property name="tdSmUserSelectByWorkNumber"> <![CDATA[ select user_id as userId from td_sm_user where user_worknumber=? ]]> </property> <property name="tdSmOrgSave"> <![CDATA[ insert into td_sm_organization (org_id, org_sn, org_name, parent_id, orgnumber, orgdesc, chargeorgid, remark3, remark5, org_tree_level, org_level, org_xzqm) values (#[orgId], #[orgSn], #[orgName], #[parentId], #[orgnumber], #[orgdesc], #[chargeorgid], #[remark3], #[remark5], #[orgTreeLevel], #[orgLevel], #[orgXzqm]) ]]> </property> <property name="tdSmOrgUpdate"> <![CDATA[ update td_sm_organization set #if($orgName && !$orgName.equals("")) org_name=#[orgName], #end #if($parentId && !$parentId.equals("")) parent_id=#[parentId], #end #if($orgnumber && !$orgnumber.equals("")) orgnumber=#[orgnumber], #end #if($orgdesc && !$orgdesc.equals("")) orgdesc=#[orgdesc], #end #if($chargeorgid && !$chargeorgid.equals("")) chargeorgid=#[chargeorgid], #end #if($remark3 && !$remark3.equals("")) remark3=#[remark3], #end #if($remark5 && !$remark5.equals("")) remark5=#[remark5], #end #if($orgTreeLevel && !$orgTreeLevel.equals("")) org_tree_level=#[orgTreeLevel], #end #if($orgLevel && !$orgLevel.equals("")) org_level=#[orgLevel], #end #if($orgXzqm && !$orgXzqm.equals("")) org_xzqm=#[orgXzqm], #end org_id=#[orgId] where org_id=#[orgId] ]]> </property> <property name="tdSmOrgSelect"> <![CDATA[ select org_id as orgId, org_sn as orgSn, parent_id as parentId from td_sm_organization where org_id=#[orgId] ]]> </property> <property name="tdSmOrgAllData"> <![CDATA[ select org_id as orgId, org_sn as orgSn, parent_id as parentId from td_sm_organization order by org_id ]]> </property> <property name="tdSmJobSave"> <![CDATA[ insert into td_sm_job (job_id, job_name, job_desc) values (#[jobId], #[jobName], #[jobDesc]) ]]> </property> <property name="tdSmJobUpdate"> <![CDATA[ update td_sm_job set job_name=#[jobName] , job_desc=#[jobDesc] where job_id=#[jobId] ]]> </property> <property name="tdSmJobSelect"> <![CDATA[ select * from td_sm_job where job_id=#[jobId] ]]> </property> <property name="tdSmOrgJobSave"> <![CDATA[ insert into td_sm_orgjob (job_id, org_id, job_sn) values (#[jobId], #[orgId], #[jobSn]) ]]> </property> <property name="tdSmOrgJobUpdate"> <![CDATA[ update td_sm_orgjob set org_id=#[orgId], job_sn=#[jobSn] where job_id=#[jobId] ]]> </property> <property name="tdSmOrgJobSelect"> <![CDATA[ select * from td_sm_orgjob where job_id=#[jobId] ]]> </property> <property name="tdSmOrgUserSave"> <![CDATA[ insert into td_sm_orguser (user_id, org_id) values (#[userId], #[orgId]) ]]> </property> <property name="tdSmOrgUserUpdate"> <![CDATA[ update td_sm_orguser set org_id=#[orgId] where user_id=#[userId] ]]> </property> <property name="tdSmOrgUserSelect"> <![CDATA[ select * from td_sm_orguser where user_id=#[userId] ]]> </property> <property name="tdSmUserJobOrgSave"> <![CDATA[ insert into td_sm_userjoborg (user_id, org_id, job_id, job_starttime) values (#[userId], #[orgId], #[jobId], #[jobStartTime]) ]]> </property> <property name="tdSmUserJobOrgUpdate"> <![CDATA[ update td_sm_userjoborg set org_id=#[orgId], job_id=#[jobId], job_starttime=#[jobStartTime] where user_id=#[userId] ]]> </property> <property name="tdSmUserJobOrgSelect"> <![CDATA[ select * from td_sm_userjoborg where user_id=#[userId] ]]> </property> <property name="selectTdSmUserKey"> <![CDATA[ select user_id,USER_WORKNUMBER,user_type from td_sm_user ]]> </property> <property name="selectTdSmOrgKey"> <![CDATA[ select org_id,org_tree_level from td_sm_organization order by org_tree_level ]]> </property> <property name="selectTdSmJobKey"> <![CDATA[ select job_id from td_sm_job ]]> </property> <property name="selectTdSmOrgUserKey"> <![CDATA[ select distinct(user_id) from td_sm_orguser ]]> </property> <property name="selectTdSmOrgJobUserKey"> <![CDATA[ select distinct(user_id) from td_sm_userjoborg ]]> </property> </properties>
2.加载配置文件初始化bboss 持久层通用dao
bboss sql配置文件遵循bboss ioc 语法,dao加载sql文件:
com.frameworkset.common.poolman.ConfigSQLExecutor dao= new com.frameworkset.common.poolman.ConfigSQLExecutor("com/pdp/masterdata/hr/dao/HumanDataSql.xml"); //指定dbname List<HashMap> datas = dao.queryListWithDBName(HashMap.class,dbname, "selectTdSmOrgKey"); for(int i = 0; datas != null && i < datas.size(); i ++) { System.out.println(datas.get(i)); } } catch(SQLException e) { e.printStackTrace(); } //不指定dbname List<HashMap> datas = dao.queryList(HashMap.class, "selectTdSmOrgKey"); for(int i = 0; datas != null && i < datas.size(); i ++) { System.out.println(datas.get(i)); } } catch(SQLException e) { e.printStackTrace(); }
加载配置文件的dao的具体api使用,可以参考文档:http://yin-bp.iteye.com/blog/1112997
评论
3 楼
qq641879434
2017-02-07
万分感谢
2 楼
yin_bp
2017-01-19
qq641879434 写道
怎么设置配置文件 可以查看执行的SQL语句。 我只能getSql(语句名)
看不到带参数进去 执行的SQL语句
看不到带参数进去 执行的SQL语句
运行的时候查看sql,可以参考文档进行设置:
http://yin-bp.iteye.com/blog/1925173
1 楼
qq641879434
2017-01-18
怎么设置配置文件 可以查看执行的SQL语句。 我只能getSql(语句名)
看不到带参数进去 执行的SQL语句
看不到带参数进去 执行的SQL语句
发表评论
-
bboss 持久层数据源引用外部属性配置介绍
2018-12-29 21:47 1080bboss 持久层数据源外部属性配置引用介绍 bboss持久 ... -
bboss持久层开启和关闭自带主键机制
2017-08-17 11:56 752bboss持久层开启和关闭自带主键机制 请访问文档: bbos ... -
bboss高性能db批处理功能使用方法介绍
2017-05-14 21:28 2135bboss持久层在v5.0.3.5中新增简单的高效的db批处理 ... -
bboss持久层公共sql片段定义和引用方法说明
2017-03-03 13:05 1123bboss持久层公共sql片段定义和引用方法说明 在配置sq ... -
最新版本mysql jdbc驱动包获取表定义信息空指针异常处理方法
2016-12-15 10:24 1354在使用最新的mysql-connector-java 6.0. ... -
持久层快速入门系列一
2016-08-19 13:00 1259持久层快速入门 先在应用中导入bboss 持久层(bboss ... -
bboss与spring中配置和引用bboss数据源和bboss dao组件方法说明
2016-08-10 16:04 915首先在项目中导入bboss 持久层包: maven坐标 & ... -
bboss持久层设置数据库查询fetchsize参数方法
2015-11-06 11:54 1015bboss持久层设置数据库查询fetchsize参数方法 j ... -
bboss持久层快速入门教程
2015-09-19 13:49 1588bboss持久层快速入门教程,快速搭建bboss持久层的开 ... -
bboss持久层数据库适配器编写和注册方法
2015-02-06 15:21 975bboss持久层数据库适配器编写和注册方法 bboss持久层默 ... -
bboss模糊查询、动态sql、批处理资料荟萃
2015-01-30 12:03 2366bboss模糊查询、动态sql、批处理资料荟萃 bboss持 ... -
bboss持久层查询元数据缓存机制开启方法
2014-11-18 12:03 1019bboss持久层为了提升数据库查询操作性能,提供了对查 ... -
bboss内置数据源apache dbcp与druid数据源切换方法
2014-09-23 09:59 1386bboss内置数据源与druid数据源切换方法 bboss内置 ... -
bboss持久层多数据源配置及多数据库事务控制使用方法
2014-05-11 20:24 2972bboss持久层多数据源配置及使用方法,持久层框架及demo下 ... -
bboss持久层demo使用说明
2014-03-11 09:38 1207持久层案例可以用svn客户端下载eclipse工程,导入ecl ... -
bboss持久层More分页查询API使用介绍
2013-10-18 16:17 1472为了更好地提高数据库分页查询的效率,bboss持久层在Conf ... -
bboss持久层操作Clob和Blob字段示例
2013-09-09 13:29 1228bboss持久层操作Clob和Blob非常方便,基于bboss ... -
bboss持久层ormaping机制详解
2013-09-04 21:04 1152bboss持久层针对db操作即提供了原始sql语句的支持,又提 ... -
bboss持久层改进支持模块sql配置文件引用其它模块sql配置文件中sql语句
2013-09-01 22:23 931bboss持久层改进支持模块sql配置文件引用其它模块sql配 ... -
bboss持久层sql语句输出到log4j日志文件设置
2013-08-15 20:17 1184bboss持久层sql语句输出到log4j日志文件设置 po ...
相关推荐
本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和动态配置应用。 首先,BBoss的IOC配置文件通常是一个XML文件,比如`bboss-ioc.xml`,在这个文件中我们可以声明并配置各种bean。当需要...
该项目为bboss插件集的Java设计源码,总计277个文件,涵盖163个Java源文件、22个XML配置文件、14个Gradle构建脚本、13个Git忽略规则、13个属性文件以及少量的JavaScript、HTML、CSS和Shell脚本,主要用于文档转换和...
该项目是基于Java语言的bboss开源框架构建的设计源码,包含3075个文件,涵盖2700个Java源文件、85个XML配置文件、52个HTML文件、39个properties和prefs文件、23个GIF图片、18个Gradle文件、17个gitignore文件、10个...
bboss-plugins project.包含kafka、log4j、spring、dubbo、activemq、word转pdf、pdf转swf项目,持久层hibernate/hibernate4插件
在Java中,传统的JDBC编程方式往往需要编写大量重复的SQL代码,而ORM框架如BBoss-DB-Elasticsearch-Tool则通过元数据(如注解或XML配置)将Java对象与数据库表映射起来,实现了数据的透明访问。这极大地提高了开发...
对应的配置文件为application.properties文件 多集群测试用例:eshelloword-spring-boot-starter\src\test\java\org\bboss\elasticsearchtest\springboot\MultiBBossESStartersTestCase.java 多集群演示功能测试...
本项目是基于JavaScript和CSS开发的bboss会话共享demo,包含421个文件,其中包括114个GIF图像文件、111个JPG图像文件、88个PNG图像文件、29个JavaScript脚本文件、20个CSS样式表文件、18个XML配置文件、12个JSP页面...
- 快速入门:简单的示例展示如何创建第一个BBoss MVCDemo应用,包括编写控制器、模型和视图。 - 请求处理:讲解BBoss MVCDemo如何处理HTTP请求,包括URL映射、参数绑定和返回值处理。 - 模型层详解:介绍如何定义...
BBoss Persistent是一个轻量级的持久层框架,它提供了方便的方式来处理这些大字段。本文将深入探讨在BBoss Persistent 1.0.2中如何高效地管理CLOB和BLOB数据。 首先,CLOB用于存储大量的文本数据,如长篇文章或XML...
BBoss安全认证过滤器是Java Web开发中一种用于实现用户身份验证和权限控制的重要组件。在Web应用程序中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP之前进行预处理,以及在...
2. **数据库操作**:BBoss提供了便捷的数据访问层(DAO),支持SQL动态生成、事务管理以及多种数据库的兼容性,使得数据库操作变得简单且高效。 3. **服务治理**:框架内置了服务注册与发现机制,可以实现微服务...
bboss会话共享是一种分布式会话管理技术,它针对在集群环境下应用部署时如何解决会话数据丢失和单点登录问题提供了专门的解决方案。根据提供的文档内容,我们可以详细探讨bboss会话共享涉及的关键知识点。 首先,...
- 属性配置文件管理:使用标准的properties文件,提供缓冲和热加载机制,提高开发效率。 - 模块化管理:每个模块可以有自己的属性配置文件,便于维护。 8. **菜单国际化**: - 菜单信息:包括系统名称、logo、...
8. **配置项目**:修改配置文件,如web.xml和bboss的配置文件,以适应你的业务需求。 9. **测试运行**:通过访问预设的URL,验证项目是否成功启动。 接下来,`bboss平台代码生成工具使用教程.wmv`可能涵盖了如何...
**Elasticsearch 开发环境搭建与 BBoss 入门教程** ...通过提供的视频教程和源码示例,你可以逐步学习到环境配置、基本操作以及一些进阶技能,从而在实际项目中更有效地利用 Elasticsearch 和 BBoss。
该框架包含222个文件,包括164个Java源文件、14个XML配置文件、6个Gradle构建文件、6个JAR包文件、6个属性文件等,旨在支持跨域应用集群节点的会话共享与监控,并提供示例站点http://session.bbossgroups.com/供用户...
3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...
完成清洗和转换后,bboss-datatran 可以将处理后的数据加载到不同的存储系统,如Hadoop HDFS、Hive、HBase、Elasticsearch、Greenplum、Oracle等。这为用户提供了灵活的数据存储选择,并且支持数据分片、分区策略,...