zoukankan      html  css  js  c++  java
  • Mybatis使用Map来实现传递多个参数及Mybati实现模糊查询

    使用Map来实现多个参数传递

    当你使用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模糊查询

    想要使用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>
  • 相关阅读:
    62. Unique Paths
    120. Triangle
    EBS预置文件作用收集整理
    ORA-20002: [WF_NO_USER] NAME=<name> ORIG_SYSTEM=NULL ORIG_SYSTEM_ID=NULL
    Oracle定义DES加密解密及MD5加密函数
    EBS获取附件URL
    Oracle EBS标准错误信息如何追踪 (Debug)
    更改EBS APPS 密码流程
    Oracle之物化视图
    Oracle EBS打补丁
  • 原文地址:https://www.cnblogs.com/youjunhui/p/15812873.html
Copyright © 2011-2022 走看看