当你使用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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。