准备
数据库表
bean
模糊查询
以查询出所有用户名中含字母a的人为例。
方式一
接口
public interface MohuSQLPerson { List<Person> selectPerson(@Param("mohu") String s); }
映射文件
<mapper namespace="com.xxx.mapper.MohuSQLPerson"><!--接口--> <!-- List<Person> selectPerson(String s);--> <select id="selectPerson" resultType="com.xxx.pojo.Person"> select * from t_person where name like '%${mohu}%' </select> </mapper>
测试
MohuSQLPerson mapper = sqlSession.getMapper(MohuSQLPerson.class); //查询出所有用户名中含字母a的人。 List<Person> a = mapper.selectPerson("a"); System.out.println(a);
输出结果
说明
${}双引号需要自己加,所以正好模糊查询。
方式二
接口
public interface MohuSQLPerson { List<Person> selectPerson(@Param("mohu") String s); }
映射文件
<mapper namespace="com.xxx.mapper.MohuSQLPerson"><!--接口--> <!-- List<Person> selectPerson(String s);--> <select id="selectPerson" resultType="com.xxx.pojo.Person"> select * from t_person where name like concat("%",#{mohu},"%") </select> </mapper>
测试
MohuSQLPerson mapper = sqlSession.getMapper(MohuSQLPerson.class); //查询出所有用户名中含字母a的人。 List<Person> a = mapper.selectPerson("a"); System.out.println(a);
输出结果
说明
通过mysql再带concat函数将三个字符串拼接起来。
方式三
接口
public interface MohuSQLPerson { List<Person> selectPerson(@Param("mohu") String s); }
映射文件
<mapper namespace="com.xxx.mapper.MohuSQLPerson"><!--接口--> <!-- List<Person> selectPerson(String s);--> <select id="selectPerson" resultType="com.xxx.pojo.Person"> select * from t_person where name like "%"#{mohu}"%" </select> </mapper>
测试
MohuSQLPerson mapper = sqlSession.getMapper(MohuSQLPerson.class); //查询出所有用户名中含字母a的人。 List<Person> a = mapper.selectPerson("a"); System.out.println(a);
输出结果