相信每个人都不喜欢把一句代码写了一遍又一遍

然而在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>

这就是常用的两种方法啦,希望能对各位开发人员有用!