MyBatis 智能标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis 智能标签相关的知识,希望对你有一定的参考价值。

使用Where 只能标签 检索部门Y2162Dept

数据库已存在表Y2162Dept
技术分享

 

实现动态查询

Deptno Deptname
赋值                   不赋值
不赋值                  赋值
赋值                   赋值
不赋值                   不赋值

<!-- 使用Where 智能标签实现动态查询 --> <select id="selectDeptDynamic" parameterType="cn.happy.entity.Dept" resultType="cn.happy.entity.Dept"> select * from Y2162dept <where> <if test="deptno!=null"> and deptno=#{deptno} </if> <if test="deptname!=null"> and deptname=#{deptname} </if> </where> </select>

 

//智能标签where 动态查询
    @Test
    public  void dynamicWhereTest() throws Exception{
        Dept dept=new Dept();
      
        //dept.setDeptname("财务部");
        //dept.setDeptno(3);
        
        
        List<Dept> list=session.selectList("selectDeptDynamic",dept);
        for (Dept dt : list) {
            System.out.println(dt.getDeptname());
        }
        session.close();
    } 

运行结果:

技术分享

使用set智能标签修改数据

<!-- 智能标签set -->

<update id="UpdateDept" parameterType="cn.happy.entity.Dept">
Update Y2162Dept 
<set>
<if test="deptno!=null">
            deptno=#{deptno},
          </if>
          <if test="deptname!=null">
            deptname=#{deptname},
          </if>

</set>
     where deptno=#{deptno}

</update>
//使用智能标签set 修改数据
    public void updateTest(){
        Dept dt=new Dept();
        dt.setDeptno(45);
        dt.setDeptname("月饼不");
        int count = session.update("UpdateDept",dt);
        session.commit();
        System.out.println(count);
        session.close();
        
        
    }

 

以上是关于MyBatis 智能标签的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis动态SQL中trim的使用

mybatis动态sql之利用sql标签抽取可重用的sql片段

mybatis中的智能标签之二

MyBatis 智能标签

SM-MyBatis-14:Mybatis中智能标签

6.mybatis里面的动态sql是怎么设定的,常用标签有那些以及其