MyBatis(模糊查询)

在进行模糊查询之前我们先搭建环境,其中包括MyBatis环境和数据库环境:

数据库表如下:

MyBatis环境搭建:https://blog.csdn.net/young_1004/article/details/81987259

% : 代表0 个或 1 个或多个字符

_ : 代表 1 个确切的字符

查名字中带有‘花’字的用户

<select id="findUserByNameOfLike" parameterType="String" resultType="com.ma.mybatis.pojo.User">

select * from user where name like '%花%'

</select>

测试

@Test

/**

* 使用模糊查询 用名称查找用户

*/

public void findUserByNameOfLike() throws IOException {

InputStream cof = Resources.getResourceAsStream("sqlMapConfig.xml");

//创建会话工厂

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(cof);

SqlSession sqlSession = sqlSessionFactory.openSession();

List<User> Userlist = sqlSession.selectList("test.findUserByNameOfLike");

for(User list : Userlist){

System.out.println(list);

}

sqlSession.commit();

sqlSession.close();

}

效果

查询名字中第二个字为‘黄’的用户

<select id="findUserByNameOfLike" parameterType="String" resultType="com.ma.mybatis.pojo.User">

select * from user where name like '_黄%'

</select>

测试

@Test

/**

* 使用模糊查询 用名称查找用户

*/

public void findUserByNameOfLike() throws IOException {

InputStream cof = Resources.getResourceAsStream("sqlMapConfig.xml");

//创建会话工厂

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(cof);

SqlSession sqlSession = sqlSessionFactory.openSession();

List<User> Userlist = sqlSession.selectList("test.findUserByNameOfLike");

for(User list : Userlist){

System.out.println(list);

}

sqlSession.commit();

sqlSession.close();

}

效果

${} : 以普通字符串的形式进行填充

#{} : 以占位符的形式进行填充(可以避免 sql 注入,推荐使用) 

"%${value}%"

<select id="findUserByNameOfLike" parameterType="String" resultType="com.ma.mybatis.pojo.User">

select * from user where name like "%${value}%"

</select>

"%"#{name}"%

<select id="findUserByNameOfLike" parameterType="String" resultType="com.ma.mybatis.pojo.User">

select * from user where name like "%"#{name}"%"

</select>
List<User> Userlist = sqlSession.selectList("test.findUserByNameOfLike","花");

猜你喜欢

转载自blog.csdn.net/young_1004/article/details/82079362