mybatis之sql传递参数映射(六)

来源:互联网 发布:国际米兰数据 编辑:程序博客网 时间:2024/05/18 01:35

1.传递包装类
User类

public class User {    private int id;    private String username;// 用户姓名    private String sex;// 性别    private Date birthday;// 生日    private String address;// 地址    //set/get方法省略    }

User包装类

public class UserQueryVo {    private User user;    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }}

UserMapper接口

public interface UserMapper {    User findUserByName(UserQueryVo uv);}

UserMapper.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="com.test.mapper.UserMapper">    //${}和#{}中的参数名需要和包装类中的对象层级一致,并且属性名要一致    <select id="findUserByName" parameterType="com.test.domain.UserQueryVo" resultType="com.test.domain.User">        SELECT * FROM USER WHERE username like '%${user.username}%' AND sex = #{user.sex}    </select></mapper>

测试代码

    @Test    public void test_04(){        SqlSession sqlSession = sqlSessionFactory.openSession();        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);        UserQueryVo uv = new UserQueryVo();        User user = new User();        user.setUsername("五");        user.setSex("2");        uv.setUser(user);        User user2 = userMapper.findUserByName(uv);        System.out.println(user2);    }

2.传递HashMap
同传递POJO对象一样,map的key相当于pojo的属性。

UserMapper接口

public interface UserMapper {    List<User> findUserByHashMap(Map<String, Object> map);}

UserMapper.xml

<!DOCTYPE mapper    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"    "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.test.mapper.UserMapper">    <select id="findUserByHashMap" parameterType="hashmap" resultType="com.test.domain.User">        SELECT * FROM USER WHERE username like '%${username}%' AND sex = #{sex}    </select></mapper>

测试代码

    @Test    public void test_05(){        SqlSession sqlSession = sqlSessionFactory.openSession();        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);        Map<String, Object> map = new HashMap<String, Object>();        map.put("username", "小");        map.put("sex", "1");        List<User> user2 = userMapper.findUserByHashMap(map);        System.out.println(user2);    }
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 文明5遗址没了怎么办 ⅰpad屏幕动不了怎么办 苹果6plus满了怎么办 cf的fps低怎么办win7 游戏倒闭冲的钱怎么办 一闭眼就做噩梦怎么办 吃鸡游戏上瘾了怎么办 使命召唤7很卡怎么办 w10升级系统卡死怎么办 答题卡写错位置怎么办 高考答错区域该怎么办 荒野行动画面中间有条横怎么办 荒野行动pc闪退怎么办 幽灵行动荒野子弹没了怎么办 看门狗2枪没子弹怎么办 爱奇艺不小心删除了本地视频怎么办 80岁老太太就爱闹肚子怎么办? 皇牌空战5弹药不够怎么办 辐射4玩着头晕怎么办 官司打赢了法院不给钱怎么办 电脑玩dnf太卡怎么办 soul被禁止私聊怎么办 刺激战场空投挂树上怎么办 由于经济原因心态不好怎么办 公司经济不好不裁员怎么办 家里经济不好没有钱怎么办 银行柜员找不到工作怎么办 在球队中打替补怎么办 大学生毕业后找不到工作怎么办 30岁不敢换工作怎么办 投完简历没回复怎么办 工业废气一年总量超标怎么办 安监局行政处罚没能力交怎么办 被社会淘汰的人怎么办 宝宝吐奶的时候怎么办 网友要我发红包怎么办 电脑久了很慢怎么办 影驰显卡花屏怎么办 反恐精英全球攻势加载地图慢怎么办 老滚5视角锁死了怎么办 苹果描述文件没有了怎么办