ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Mybatis使用Map来实现传递多个参数及Mybati实现模糊查询

2022-01-17 12:00:17  阅读:135  来源: 互联网

标签:Map Mybati name map put sqlSession 使用 Mybatis


当你使用Mybatis苦恼于多个参数的传递或是向表中插入数据或是更新数据不想将所有属性都写一遍.

可以使用Map当做方法参数,然后在xml映射文件中使用#{键}来取出Map中的值进行操作

当你想要使用的时候,可以创建一个Map对象,然后使用put("属性",值).将Map作为参数调用方法

用例:

package com.kuang.dao;

import com.kuang.pojo.User;

import java.util.List;

public interface UserMapper {
    public void updateUser(Map map);//根据ID寻找到对应的用户并更新//姓名和密码
}
<?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="com.com.kuang.dao.UserMapper">

    <update id="updateUser" parameterType="map" >
        update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}
    </update>
</mapper>

使用时:

    @Test
public void testUpdate(){
      SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
      Map<String,Object> map=new HashMap();
      map.put("id",1);
      map.put("name","小李");
      map.put("pwd","12345");
        mapper.updateUser(map);
        sqlSession.commit();
        sqlSession.close();
}                    

 

 

想要使用Mybatis实现在搜索的时候模糊查询需要用到select语句中的like.

示例:在sql语句中使用开头结尾通配符"%"拼接可以防止用户输入数据不当造成的Sql注入.

    <select id="vagueGetUserList" resultType="com.com.kuang.pojo.User" parameterType="String">
        select * from mybatis.user where name like "%"#{name}"%"
    </select>

 

标签:Map,Mybati,name,map,put,sqlSession,使用,Mybatis
来源: https://www.cnblogs.com/youjunhui/p/15812873.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有