900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > MyBatis 模糊查询like 的三种方式

MyBatis 模糊查询like 的三种方式

时间:2023-05-20 17:57:25

相关推荐

MyBatis 模糊查询like 的三种方式

方式一、拼接传参法

首先在调用DAO前,对需要模糊查询的参数进行拼接

if (!StringUtils.isEmpty(appName)) {appName = "%" + appName + "%";}

然后DAO.xml中直接使用 like #{param} 的方式,如下:

<select id="selectAllApp" resultMap="BaseResultMap">select<include refid="Base_Column_List"/>from app<if test="appName != null and appName != ''">where app_name like #{appName,jdbcType=VARCHAR}</if></select>

方式二、mysql的CONCAT()函数

直接使用concat()函数:

<select id="selectAllApp" resultMap="BaseResultMap">select<include refid="Base_Column_List"/>from app<if test="appName != null and appName != ''">where app_name like CONCAT('%',#{appName,jdbcType=VARCHAR},'%')</if></select>

方式三、Mybatis的bind标签

<select id="selectAllApp" resultMap="BaseResultMap"><bind name="pattern" value="'%' + appName + '%'" />select<include refid="Base_Column_List"/>from appwhere app_name like #{pattern}</select>

【注意】还有一种是直接使用like '%${appName}%',这种方式会直接传值,无法防止sql注入攻击,不推荐使用!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。