相信每个人都不喜欢把一句代码写了一遍又一遍
然而在java开发里,有些代码确实需要写个好几遍
比如mapper里的sql,查询是select * from 表名;
然后很多都会有个where条件,根据什么什么查询什么的
这个时候就会多次出现selece * from 表名; 这个字段
那么怎样才能简化呢?
下面说两种方法
1.include,这个在很多开源框架里还是挺常见的
我们可以先写一句查询
<sql id="这个是名字">
select * from 表名
</sql>
是不是在想条件呢?
不要急,往下看,接下来就写普通的调用
<select id="名字" resultMap="参数名字">
--然后加一句这个
<include refid="这个和上一句查询表的id名字一样"/>
--然后再接where条件
where id = #{id}
</select>
然后在controller层调用带条件的方法就行,剩下的交给mapper自己去拼接
这样在多个查询的情况下就可以只写where条件就行啦。
2.第二种方法就是判断了
<select id="方法名" resultMap="参数名字">
--这里接查询语句
select * from 表民
--然后是where条件
<where>
<if test="id!= null and id != ''">
and id= #{id}
</if>
<if test="name!= null and name!='' ">
and name= #{name}
</if>
</where>
--在次接排序或格式条件常见
</select>
这就是常用的两种方法啦,希望能对各位开发人员有用!