Mybatis之模糊查询

1.在dao接口中添加方法

2.配置用户映射文件

3.执行方法

public static void main(String[] args) throws Exception {

    //1.读取配置文件
    InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
    //2.创建 SqlSessionFactory 的构建者对象
    SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
    //3.使用构建者创建工厂对象 SqlSessionFactory
    SqlSessionFactory factory = builder.build(in);
    //4.使用 SqlSessionFactory 生产 SqlSession 对象
    SqlSession session = factory.openSession();
    //5.使用 SqlSession 创建 dao 接口的代理对象
    UserDao userDao = session.getMapper(UserDao.class);
    //6.使用代理对象执行方法
    List<User> list = userDao.findUserByName("%王%");
    for (User user : list) {
        System.out.println(user);
    }

    //7.释放资源
    session.close();
    in.close();
}

执行结果:

另外一种配置方式

修改用户的映射配置文件

在调用方法传入关键字的时候,将"%王%修改成"王"

List<User> list = userDao.findUserByName("王");

 细节:

    #{}表示一个占位符号
通过#{}可以实现 preparedStatement 向占位符中设置值,自动进行 java 类型和 jdbc 类型转换,
#{}可以有效防止 sql 注入。 #{}可以接收简单类型值或 pojo 属性值。 如果 parameterType 传输单个简单类
型值,#{}括号中可以是 value 或其它名称。
${}表示拼接 sql 串
通过${}可以将 parameterType 传入的内容拼接在 sql 中且不进行 jdbc 类型转换, ${}可以接收简
单类型值或 pojo 属性值,如果 parameterType 传输单个简单类型值,${}括号中只能是 value。     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值