zoukankan      html  css  js  c++  java
  • mybatis 动态sql

    首先定义queryVo 类

    package com.itheima.domain;
    
    import java.util.List;
    
    public class QueryVo {
        private User user;
    
        private List<Integer> ids;
    
        public User getUser() {
            return user;
        }
    
        public void setUser(User user) {
            this.user = user;
        }
    
        public List<Integer> getIds() {
            return ids;
        }
    
        public void setIds(List<Integer> ids) {
            this.ids = ids;
        }
    }
    View Code

    IUserDao定义的接口

    /*
        * 根据传入参数条件查询
        * @param user 查询的条件:有可能有用户名,有可能有性别,也有可能有地址,可能啥都没有
        * */
        List<User> findUserByCondition(User user);
    
        /*
        * 根据queryVo中提供的id集合查询用户信息
        * */
        List<User> findUserInIds(QueryVo vo);

    根据条件进行查询 IUserDao.xml

    <!--根据条件查询-->
        <select id="findUserByCondition" parameterType="com.itheima.domain.User" resultMap="userMap">
            select * from USER
            <where>
                <if test="username != null">
                    and username = #{username}
                </if>
                <if test="sex != null">
                    and sex = #{sex}
                </if>
            </where>
        </select>
    
        <!--根据queryVo中的Id集合实现查询用户列表-->
        <select id="findUserInIds" parameterType="com.itheima.domain.QueryVo" resultMap="userMap">
            select * from user
            <where>
                <if test="ids != null and ids,size()>0">
                    <foreach collection="ids" open="and id in (" close=")" item="id" separator=",">
                        #{id}
                    </foreach>
                </if>
            </where>
        </select>

    测试

    @Test
        public void testFindUserByCondition(){
            User u = new User();
            u.setUsername("老王");
            List<User> users = userDao.findUserByCondition(u);
            for(User user:users)
                System.out.println(user);
        }
    
        @Test
        public void testFindInIds(){
            QueryVo vo = new QueryVo();
            List<Integer> list = new ArrayList<>();
            list.add(41);
            list.add(42);
            list.add(46);
            vo.setIds(list);
    
            List<User> users = userDao.findUserInIds(vo);
            for(User user:users)
                System.out.println(user);
        }
  • 相关阅读:
    linux设备和驱动加载的先后顺序
    CCT之CAMERA TUNNING调试学习总结
    MTK Android software Tools工具的说明
    Android开发概要记录
    报表软件公司高价悬赏BUG,100块1个我真是醉了
    OV5640全景模式预览倒180度,拍照正常的问题
    一起学Python:TCP简介
    udp绑定信息
    应用:udp聊天器
    socket简介
  • 原文地址:https://www.cnblogs.com/zsben991126/p/12584519.html
Copyright © 2011-2022 走看看