- 浏览: 695507 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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持久层针对db操作即提供了原始sql语句的支持,又提供了简单而高效的ormapping机制,本文详细介绍之
1.可变参数的原生sql API
删除
SQLExecutor.delete("delete from LISTBEAN");
SQLExecutor.delete("delete from LISTBEAN where id=?",1);
插入
sql ="insert into LISTBEAN(ID,FIELDNAME,FIELDLABLE,FIELDTYPE) " +
"values(?,?,?,?)";
SQLExecutor.insertWithDBName("bspf", sql,DBUtil.getNextPrimaryKey("bspf", "ListBean"),"insertOpreation","ttyee","int");
查询
sql = "select * from LISTBEAN where fieldName=?";
List<ListBean> beans = SQLExecutor.queryListWithDBName(ListBean.class,"bspf",sql,"testttt");
更新
sql = "update LISTBEAN set FIELDNAME=? where ID=?";
SQLExecutor.update(sql, "mytest",100);
2.or mapping机制
bboss 针对增删改查都提供了or mapping机制,增加、修改、删除的or mapping机制基本一致,主要是在sql语句中使用的模板变量名称和bean属性保持一致即可。
ListBean lb = new ListBean();
lb.setFieldLable("tttt");
lb.setFieldName("testttt");
lb.setFieldType("int");
lb.setIsprimaryKey(false);
lb.setRequired(true);
lb.setSortorder("ppp");
lb.setFieldLength(20);
lb.setIsvalidated(6);
//用List存放Bean,在某特定的连接池中进行crud操作
List<ListBean> beans = new ArrayList<ListBean>();
beans.add(lb);
lb = new ListBean();
lb.setFieldLable("sss");
lb.setFieldName("ss");
lb.setFieldType("int");
lb.setIsprimaryKey(false);
lb.setRequired(true);
lb.setSortorder("ppp");
lb.setFieldLength(20);
lb.setIsvalidated(6);
beans.add(lb);
lb = new ListBean();
lb.setFieldLable("sss");
lb.setFieldName("ss556");
lb.setFieldType("int");
lb.setIsprimaryKey(false);
lb.setRequired(true);
lb.setSortorder("ppp");
lb.setFieldLength(20);
lb.setIsvalidated(6);
beans.add(lb);
插入:
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("bspf",sql,beans);
修改:
sql ="update LISTBEAN set FIELDNAME=#[fieldName] where ID=#[id]";
SQLExecutor.updateBeans(sql,beans);
删除:
sql = "delete from LISTBEAN where ID=#[id]";
SQLExecutor.deleteBeans(sql, beans);
上面的都是集合批处理操作,单个对象操作,只需要将原来的接口中的s去掉,然后sql是一样的,最后使用单个bean对象:
SQLExecutor.insertBean("bspf",sql,bean);
SQLExecutor.updateBean(sql,bean);
SQLExecutor.deleteBean(sql, bean);
查询的or mapping机制是自动将select中的查询字段名称与bean的属性进行映射,不需要显示指定:
sql ="select * from LISTBEAN where FIELDNAME=#[fieldName]";
beans = (List<ListBean>) SQLExecutor.queryListBean(ListBean.class, sql, conditionbean);
po对象ListBean中的属性与select *中得到的column名称会自动进行映射,自动映射规则如下:
规则一 @Column注解指定column和bean field进行映射,优先级最高,例如:
@Column(name="tableColumnName")
private String fieldType;
bboss在映射时首先检查字段有没有被Column注解映射,如果没有继续后续的两个规则。
规则二 检查bean属性名称和select table column列名称是否一样,如果一样则进行值设置,否则继续最后一个规则,例如:
bean属性名称为field_name
private String field_name;
select table column名称也为field_name,则自动匹配并设置值。
规则三 检查规范化的bean属性名称和select table column列转换为规范化的java名称是否一样,如果一样则进行值设置,select table column列转换为规范化的java属性名称的规则为:field_name_xxx被转换后的java field name为fieldNameXxx。举例如下:
private String fieldName;
表的字段名称为field_name,则二者自动匹配并设置值。
上面就是bboss持久层所提供的or mapping和原生sql的简单介绍。
如果觉得上述or mapping机制无法完全满足你的要求,那么bboss持久层还提供了更加灵活高效的行处理器机制,行处理器的使用请参考文档:bboss持久层行处理器使用介绍。
1.可变参数的原生sql API
删除
SQLExecutor.delete("delete from LISTBEAN");
SQLExecutor.delete("delete from LISTBEAN where id=?",1);
插入
sql ="insert into LISTBEAN(ID,FIELDNAME,FIELDLABLE,FIELDTYPE) " +
"values(?,?,?,?)";
SQLExecutor.insertWithDBName("bspf", sql,DBUtil.getNextPrimaryKey("bspf", "ListBean"),"insertOpreation","ttyee","int");
查询
sql = "select * from LISTBEAN where fieldName=?";
List<ListBean> beans = SQLExecutor.queryListWithDBName(ListBean.class,"bspf",sql,"testttt");
更新
sql = "update LISTBEAN set FIELDNAME=? where ID=?";
SQLExecutor.update(sql, "mytest",100);
2.or mapping机制
bboss 针对增删改查都提供了or mapping机制,增加、修改、删除的or mapping机制基本一致,主要是在sql语句中使用的模板变量名称和bean属性保持一致即可。
ListBean lb = new ListBean();
lb.setFieldLable("tttt");
lb.setFieldName("testttt");
lb.setFieldType("int");
lb.setIsprimaryKey(false);
lb.setRequired(true);
lb.setSortorder("ppp");
lb.setFieldLength(20);
lb.setIsvalidated(6);
//用List存放Bean,在某特定的连接池中进行crud操作
List<ListBean> beans = new ArrayList<ListBean>();
beans.add(lb);
lb = new ListBean();
lb.setFieldLable("sss");
lb.setFieldName("ss");
lb.setFieldType("int");
lb.setIsprimaryKey(false);
lb.setRequired(true);
lb.setSortorder("ppp");
lb.setFieldLength(20);
lb.setIsvalidated(6);
beans.add(lb);
lb = new ListBean();
lb.setFieldLable("sss");
lb.setFieldName("ss556");
lb.setFieldType("int");
lb.setIsprimaryKey(false);
lb.setRequired(true);
lb.setSortorder("ppp");
lb.setFieldLength(20);
lb.setIsvalidated(6);
beans.add(lb);
插入:
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("bspf",sql,beans);
修改:
sql ="update LISTBEAN set FIELDNAME=#[fieldName] where ID=#[id]";
SQLExecutor.updateBeans(sql,beans);
删除:
sql = "delete from LISTBEAN where ID=#[id]";
SQLExecutor.deleteBeans(sql, beans);
上面的都是集合批处理操作,单个对象操作,只需要将原来的接口中的s去掉,然后sql是一样的,最后使用单个bean对象:
SQLExecutor.insertBean("bspf",sql,bean);
SQLExecutor.updateBean(sql,bean);
SQLExecutor.deleteBean(sql, bean);
查询的or mapping机制是自动将select中的查询字段名称与bean的属性进行映射,不需要显示指定:
sql ="select * from LISTBEAN where FIELDNAME=#[fieldName]";
beans = (List<ListBean>) SQLExecutor.queryListBean(ListBean.class, sql, conditionbean);
po对象ListBean中的属性与select *中得到的column名称会自动进行映射,自动映射规则如下:
规则一 @Column注解指定column和bean field进行映射,优先级最高,例如:
@Column(name="tableColumnName")
private String fieldType;
bboss在映射时首先检查字段有没有被Column注解映射,如果没有继续后续的两个规则。
规则二 检查bean属性名称和select table column列名称是否一样,如果一样则进行值设置,否则继续最后一个规则,例如:
bean属性名称为field_name
private String field_name;
select table column名称也为field_name,则自动匹配并设置值。
规则三 检查规范化的bean属性名称和select table column列转换为规范化的java名称是否一样,如果一样则进行值设置,select table column列转换为规范化的java属性名称的规则为:field_name_xxx被转换后的java field name为fieldNameXxx。举例如下:
private String fieldName;
表的字段名称为field_name,则二者自动匹配并设置值。
上面就是bboss持久层所提供的or mapping和原生sql的简单介绍。
如果觉得上述or mapping机制无法完全满足你的要求,那么bboss持久层还提供了更加灵活高效的行处理器机制,行处理器的使用请参考文档:bboss持久层行处理器使用介绍。
发表评论
-
bboss 持久层数据源引用外部属性配置介绍
2018-12-29 21:47 1082bboss 持久层数据源外部属性配置引用介绍 bboss持久 ... -
bboss持久层开启和关闭自带主键机制
2017-08-17 11:56 754bboss持久层开启和关闭自带主键机制 请访问文档: bbos ... -
bboss高性能db批处理功能使用方法介绍
2017-05-14 21:28 2139bboss持久层在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 1671bboss 持久层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 1022bboss持久层为了提升数据库查询操作性能,提供了对查 ... -
bboss内置数据源apache dbcp与druid数据源切换方法
2014-09-23 09:59 1388bboss内置数据源与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 1474为了更好地提高数据库分页查询的效率,bboss持久层在Conf ... -
bboss持久层操作Clob和Blob字段示例
2013-09-09 13:29 1230bboss持久层操作Clob和Blob非常方便,基于bboss ... -
bboss持久层改进支持模块sql配置文件引用其它模块sql配置文件中sql语句
2013-09-01 22:23 932bboss持久层改进支持模块sql配置文件引用其它模块sql配 ... -
bboss持久层sql语句输出到log4j日志文件设置
2013-08-15 20:17 1187bboss持久层sql语句输出到log4j日志文件设置 po ...
相关推荐
bboss-plugins project.包含kafka、log4j、spring、dubbo、activemq、word转pdf、pdf转swf项目,持久层hibernate/hibernate4插件
该项目为bboss插件集的Java设计源码,总计277个文件,涵盖163个Java源文件、22个XML配置文件、14个Gradle构建脚本、13个Git忽略规则、13个属性文件以及少量的JavaScript、HTML、CSS和Shell脚本,主要用于文档转换和...
- 模型层详解:介绍如何定义模型类,以及如何与数据访问层交互,执行CRUD操作。 - 视图渲染:如何配置和使用不同的模板引擎,以及如何在视图中展示模型数据。 - AOP应用:示例展示如何定义切面,以及如何应用事务...
安全性方面,bboss会话共享通过在客户端基于cookie机制存储sessionid,并设置cookie的HttpOnly属性来防止XSS攻击窃取sessionid,通过设置Secure属性并在HTTPS环境下传输来防止sessionid被窃取。同时,还提供会话信息...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
2. **数据库操作**:BBoss提供了便捷的数据访问层(DAO),支持SQL动态生成、事务管理以及多种数据库的兼容性,使得数据库操作变得简单且高效。 3. **服务治理**:框架内置了服务注册与发现机制,可以实现微服务...
**bboss-datatran** 是一个由 **bboss** 社区开源的高效数据处理工具,专注于数据采集、数据清洗转换以及数据入库等任务。它实现了流批一体化的数据处理能力,使得用户能够灵活地应对实时和批量的数据处理场景。在...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
BBoss Persistent是一个轻量级的持久层框架,它提供了方便的方式来处理这些大字段。本文将深入探讨在BBoss Persistent 1.0.2中如何高效地管理CLOB和BLOB数据。 首先,CLOB用于存储大量的文本数据,如长篇文章或XML...
**Elasticsearch 开发环境搭建与 BBoss 入门教程** Elasticsearch 是一个高度可扩展的开源全文搜索引擎,设计用于快速提供近实时的搜索和分析能力。BBoss(Business Boss)是基于Elasticsearch的一个强大且灵活的...
【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...
**bboss+es基本操作示例** 在Java开发中,Elasticsearch(ES)作为一种流行的分布式搜索引擎和数据分析工具,常用于大数据处理和实时分析。bboss(Business Basic Operation Support)框架则是针对Elasticsearch...
6. **会话超时与退出**:为了防止会话固定攻击,BBoss框架会设置会话超时机制。此外,用户可以通过点击退出按钮来清除会话,此时`SYSAuthenticateFilter`会确保所有相关的认证信息从会话中移除。 通过阅读`...
3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...
bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...
BBoss是一个轻量级的企业级应用开发框架,提供了IOC(Inversion of Control)功能,使得对象之间的依赖关系可以通过配置文件进行管理。本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和...
bbosssession的架构及其特点,如跨容器支持、灵活可扩展的序列化机制、基于分布式缓存的实现,使得它能够在集群环境中实现高性能和高可用的会话管理。而其在部署和集成方面的便利性,则使得开发者能更快速地将其应用...
官方版本,亲测可用