0
点赞
收藏
分享

微信扫一扫

SSM之MyBatis_01_03_mybatis-入门-模糊查询、模糊查询用户信息


系列文章目录

文章目录

  • ​​系列文章目录​​
  • ​​前言​​
  • ​​mybatis-入门-模糊查询​​
  • ​​总结​​

前言

mybatis-入门-模糊查询

[${}]:表示拼接SQL字符串
[${value}]:表示要拼接的是简单类型参数。
注意:
1、如果参数为简单类型时,${}里面的参数名称必须为value
2、${}会引起SQL注入,一般情况下不推荐使用。但是有些场景必须使用${},比如order by ${colname}
写法:
<select id="findUserByName" parameterType="String" resultType="com.gyf.domain.User">
SELECT * FROM USER WHERE username like '%${value}%'
</select>

demo里面:

SSM之MyBatis_01_03_mybatis-入门-模糊查询、模糊查询用户信息_mybatis


具体代码分析:

SSM之MyBatis_01_03_mybatis-入门-模糊查询、模糊查询用户信息_模糊查询_02

如果查询到多条数据,应该都返回

所以模糊查询返回的是一个集合

SSM之MyBatis_01_03_mybatis-入门-模糊查询、模糊查询用户信息_mybatis_03


SSM之MyBatis_01_03_mybatis-入门-模糊查询、模糊查询用户信息_模糊查询_04


需要注意的的是

SSM之MyBatis_01_03_mybatis-入门-模糊查询、模糊查询用户信息_mybatis_05


SSM之MyBatis_01_03_mybatis-入门-模糊查询、模糊查询用户信息_apache_06


SSM之MyBatis_01_03_mybatis-入门-模糊查询、模糊查询用户信息_apache_07


因为它会调用get方法 get value 是固定写法

总结

直接贴代码
映射文件:
User.xml

<?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="test">
<!--
[id]:statement的id,要求在命名空间内唯一
[parameterType]:入参的java类型
[resultType]:查询出的单条结果集对应的java类型
[#{}]: 表示一个占位符?
[#{id}]:表示该占位符待接收参数的名称为id。注意:如果参数为简单类型时,#{}里面的参数名称可以是任意定义
-->
<select id="findUserById" parameterType="int" resultType="com.gyf.model.User">
SELECT * FROM user WHERE id=#{id}
</select>

<!--[${}]:表示拼接SQL字符串-->
<!--[${value}]:表示要拼接的是简单类型参数。-->
<!--注意:-->
<!--1、如果参数为简单类型时,${}里面的参数名称必须为value-->
<!--2、${}会引起SQL注入,一般情况下不推荐使用。但是有些场景必须使用${},比如order by ${colname}-->
<!--写法:-->
<select id="findUserByName" parameterType="String" resultType="com.gyf.model.User">
select * from User where username like '%${value}%'
</select>

</mapper>

测试类
Demo:

package test;

import com.gyf.model.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class Demo01 {
@Test
public void test01() throws IOException {
//a、读取配置文件
InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
//b、通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂
SqlSessionFactory ssf=new SqlSessionFactoryBuilder().build(is);
//c、通过SqlSessionFactory创建SqlSession
SqlSession session =ssf.openSession();

//d、调用SqlSession的操作数据库的方法
User user = session.selectOne("findUserById",16);
System.out.println(user);

//模糊查询
List<User> list=session.selectList("findUserByName","小");
System.out.println(list);

//e、关闭SqlSession
session.close();

}
}


举报

相关推荐

0 条评论