Mybatis四大神器之四——查询(模糊)

来源:互联网 发布:java 取整数部分 编辑:程序博客网 时间:2024/05/23 19:30

本博文主要阐述模糊查询用法,说白了就是动态sql语句,通过if进行判断传进来的字段是否为空,如果为空就不执行任何操作,否则连接(说白了就是组装sql语句),主要步骤如下所示:
1.在bao层“Huserdao”新建一个模糊查询的代码,代码如下所示:

public List<HUser> SelectHuser(Map map);

2.接下来就是在entity层中“Huser.xml”代码中新添查询判断指令,代码如下所示:

<select id="SelectHuser" parameterType="map" resultType="com.hevttc.lmj.entity.HUser">        select * from h_user where        <if test="username!=null">            username like '%${username}%' and        </if>        <if test="age!=null">            age=#{age} and        </if>        <if test="sex!=null">            sex=#{sex} and        </if>        <if test="place!=null">            place like '%${place}%' and        </if>            1=1    </select>

3.在biz层的HuserBiz中添加如下代码:

public  List<HUser> getAllHuser(Map map)    {        List<HUser> list=null;        try {            SqlSession session=SessionFactory.getSession();            dao=session.getMapper(HUserdao.class);            list=dao.SelectHuser(map);        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return list;    }

到了最后一步,就是测试代码能否正常执行,代码如下所示:

HashMap map=new HashMap();        map.put("username", "张");        List<HUser> list=biz.getAllHuser(map);        System.out.println("ID号\t姓名\t年龄\t性别\t地址");        for(HUser user:list)        {            System.out.println(user.getId()+"\t"+user.getUsername()+"\t"+user.getAge()+"\t"+(user.getSex()==0?"男":"女")+"\t"+user.getPlace());        }
原创粉丝点击