SSM之MyBatis_01_03_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里面:
在这里插入图片描述
具体代码分析:
在这里插入图片描述

如果查询到多条数据,应该都返回
所以模糊查询返回的是一个集合
在这里插入图片描述
在这里插入图片描述
需要注意的的是
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为它会调用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();

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值