项目中遇到的特殊需求所作的特殊处理
1.项目中某些数据需要查询指定时间后的数据
1.配置文件中添加对应的配置
config.StartTimeOfTheStatistical=''
2.在配置类中获取值(怎么都行,只要能获取到这个值就行),并添加静态方法,这个静态方法主要是方便其他地方使用
@Value("${config.StartTimeOfTheStatistical}")private String startTimeOfTheStatistical;private static String staticStartTimeOfTheStatistical;@PostConstructpublic void init() {if (StringUtil.isNotEmpty(startTimeOfTheStatistical)) {staticStartTimeOfTheStatistical = startTimeOfTheStatistical;}}public static String getStaticStartTimeOfTheStatistical() {return StringUtils.isBlank(staticStartTimeOfTheStatistical)?"":staticStartTimeOfTheStatistical;}
3.使用
3.1 类中使用,不必多说,正常的静态属性使用方式
String staticStartTimeOfTheStatistical = ConfigValueUtil.getStaticStartTimeOfTheStatistical();
3.2 mapper.xml中使用
<if test="@jnpf.config.ConfigValueUtil@getStaticStartTimeOfTheStatistical() != null and @jnpf.config.ConfigValueUtil@getStaticStartTimeOfTheStatistical() != ''"><bind name="staticStartTimeOfTheStatistical" value="@jnpf.config.ConfigValueUtil@getStaticStartTimeOfTheStatistical()"/>and to_char(LOGIN_TIME,'yyyy-MM-dd') >=#{staticStartTimeOfTheStatistical}</if>
2.项目中某些数据查询条件可能经常变,需要动态配置
1 配置查询条件共公sql片段 【IS_CONVENTIONALLY 这些字段对应要查询的那个表的字段】
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.mapper.CommonSqlMapper"><!-- 公共 SQL 片段 --><sql id="keyEnterpriseRule">((${alias}IS_CONVENTIONALLY = 1 or ${alias}CITY = 1 or ${alias}LISTED = 1 or ${alias}NATIONAL = 1)and ${alias}DEL_FLAG = 0 and ${alias}STATUS != 1 and ${alias}keynote = 1)</sql>
</mapper>
2 使用:如果表有别名 property 属性的value值就是表的别名。
这里的a就是对应的表别名
!!! 注意 a 后面的 点 【.】
<include refid="jnpf.mapper.CommonSqlMapper.keyEnterpriseRule"><property name="alias" value="a."/></include>
如果没有别名 property 属性的 value 直接为空字符串
