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(); }