bboss持久层公共sql片段定义和引用方法说明

简介: bboss持久层公共sql片段定义和引用方法说明 在配置sql语句时,经常会碰到多条sql语句里面使用同样的sql条件或者sql片段的情况,为了便于维护和提高配置的简洁性,一般会将这些公共部分剥离出来,配置成独立的sql片段,然后在所有需要的地方引入即可。
bboss持久层公共sql片段定义和引用方法说明

在配置sql语句时,经常会碰到多条sql语句里面使用同样的sql条件或者sql片段的情况,为了便于维护和提高配置的简洁性,一般会将这些公共部分剥离出来,配置成独立的sql片段,然后在所有需要的地方引入即可。下面介绍在bboss持久层框架里面如何定义和引用公共sql片段。
首先在项目中导入bboss 持久层包:
maven坐标
<dependency>
    <groupId>com.bbossgroups</groupId>
    <artifactId>bboss-persistent</artifactId>
    <version>5.0.7.1</version>
</dependency>
gradle坐标
compile 'com.bbossgroups:bboss-persistent:5.0.7.1'

直接看实例:

定义公共sql片段:queryOrgmanagerRoleIDs
<property name="queryOrgmanagerRoleIDs">
		<![CDATA[ 
			select role_id from td_sm_role where role_name in ('orgmanager','orgmanagerroletemplate')
		]]>
	</property>
通过@{}语法引用公共sql片段:queryOrgmanagerRoleIDs
	<property name="removeUserRoles">
		<![CDATA[ 
			delete from td_sm_userrole where user_id = ? and role_id not in (@{queryOrgmanagerRoleIDs})
		]]>
	</property>
<property name="removeGroupRoles">
		<![CDATA[ 
			delete from td_sm_grouprole where group_id = ? and role_id not in (@{queryOrgmanagerRoleIDs})
		]]>
	</property>


@{queryOrgmanagerRoleIDs}是sql片段引用语法,其中 片段sql queryOrgmanagerRoleIDs一定要在引用这个片段的sql之前定义,queryOrgmanagerRoleIDs对应的sql片段也可以定义在外部属性文件中。

@{queryOrgmanagerRoleIDs}sql片段引用语法一定要和其他的sql绑定变量区分开来:
#[varname] 这个是sql绑定变量语法
$varname 这个是sql语句值替换变量语法
${varname} 这个是非sql配置ioc文件引用外部属性变量的语法 参考文档: http://yin-bp.iteye.com/blog/2325602




相关文档: http://yin-bp.iteye.com/blog/1112887
目录
相关文章
|
20天前
|
SQL BI 数据库
SQL操作的一些基本方法
【10月更文挑战第27天】SQL操作的一些基本方法
31 3
|
20天前
|
SQL 监控 固态存储
SQL优化有哪些方法?
【10月更文挑战第27天】SQL优化有哪些方法?
15 3
|
1月前
|
SQL 数据库 索引
SQL语句实现投影连接:方法与技巧详解
在SQL数据库查询中,投影和连接是两个核心概念
|
1月前
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
1月前
|
SQL 安全 关系型数据库
SQL语句中表名通配符的使用技巧与方法
在SQL查询中,通配符通常用于匹配字符串数据,如列值中的部分字符
|
1月前
|
SQL 数据可视化 BI
SQL语句及查询结果解析:技巧与方法
在数据库管理和数据分析中,SQL语句扮演着至关重要的角色
|
1月前
|
SQL 数据库 索引
SQL语句实现投影连接:技巧与方法详解
在SQL数据库操作中,投影连接(Projection Join)是一种常见的数据查询技术,它结合了投影(Projection)和连接(Join)两种操作
|
2月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
4月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
115 13
|
4月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。