Spring MVC 使用SQL进行模糊查询

来源:互联网 发布:淘宝退货官方寄快递 编辑:程序博客网 时间:2024/06/06 03:53

Spring MVC SQL模糊匹配实现


<mapper namespace="com.frmscs.repository.mapper.sys.SysRoleMapper" >  <resultMap id="BaseResultMap" type="com.frmscs.entity.sys.SysRole" >    <id column="ROLE_ID" property="roleId" jdbcType="INTEGER" />    <result column="ROLE_NAME" property="roleName" jdbcType="VARCHAR" />    <result column="ROLE_DESC" property="roleDesc" jdbcType="VARCHAR" />    <result column="SYS_ROLE_GROUP_ID" property="sysRoleGroupId" jdbcType="INTEGER" />    <result column="CREATE_DATE" property="createDate" jdbcType="TIMESTAMP" />    <result column="UPDATE_DATE" property="updateDate" jdbcType="TIMESTAMP" />    <result column="create_by" property="createBy" jdbcType="INTEGER" />    <result column="update_by" property="updateBy" jdbcType="INTEGER" />  </resultMap>

设置查询公共属性

<sql id="Base_Column_List" >  ROLE_ID, ROLE_NAME, ROLE_DESC, SYS_ROLE_GROUP_ID, CREATE_DATE, UPDATE_DATE, create_by, update_by</sql>

查询方法

<select id="findAllSysRole" resultMap="BaseResultMap" parameterType='com.frmscs.repository.command.SysRoleCmd'>  select  <include refid="Base_Column_List" />  from sys_role  <where> 1=1    <if test="sysRoleGroupId != null">      AND SYS_ROLE_GROUP_ID = #{sysRoleGroupId}    </if>    <if test="roleName != null and roleName != ''">      AND ROLE_NAME like CONCAT('%',#{roleName,jdbcType=VARCHAR},'%')    </if>  </where></select>


如上所示 roleName 不等于null 并且 roleName 不等于 空字符串 


ROLE_NAME LIKE CONCAT('%',#{roleName,jdbcType = VARCHAR},'%') 就可以实现对ROLE_NAME的模糊匹配

例: 要查询结果为 '系统管理' 的信息 , 输入 其中任意一个字符就可以查到 '系统'


SQL中查询:

SELECT *FROM sys_role WHEREROLE_NAME LIKE  '%系统%';


原创粉丝点击