DAO:
List<Person> getPerson(@Param("person") Person person);
mapper.xml:
<select id="getPerson" parameterType="com.hangzhou.binghe.firstspringboot.model.Person" resultMap="userMap" >
select id,user_name,user_age,user_height from person
<where>
<if test="person.id != null" >
and id = #{person.id}
</if>
<if test="person.name != null and person.name != ''">
and user_name like concat(concat("%",#{person.name},"%"))
</if>
</where>
</select>
数字类型不用 != ’ ',字符串类型加上,防止 ’ '时还走了里面的判断。
DAO:
List<Person> getPerson(Person person);
mapper.xml
<select id="getPerson" parameterType="com.hangzhou.binghe.firstspringboot.model.Person" resultMap="userMap" >
select id,user_name,user_age,user_height from person
<where>
<if test="id != null" >
and id = #{id}
</if>
<if test="name != null">
and user_name like concat(concat("%",#{name},"%"))
</if>
</where>
</select>
DAO:越复杂越多变一定用@param注解参数
void addAllPerson(@Param("persons") List<Person> persons);
mapper.xml
<insert id="addAllPerson" parameterType="java.util.List" >
insert into person (user_name,user_age,user_height) values
<foreach collection="persons" item="person" separator="," index="index">
(#{person.name},#{person.age},#{person.height})
</foreach>
</insert>
Postman参数:JSONArray(多个jsonObject )
[
{
"name":"lilili",
"age":10,
"height":10
},
{
"name":"gegege",
"age":99
},
{
"name":"yuyuyuyu"
}
]
{}就可以转化成一个java对象
DAO:没用@param注解
void updatePerson(Person person);
mapper.xml:用参数直接参数名就行,用来@param ,要person.id获取参数
<update id="updatePerson" parameterType="com.hangzhou.binghe.firstspringboot.model.Person">
update person
<trim prefix="set" suffix="where id = #{id}" suffixOverrides=",">
<if test="name != null and name != ''" >
user_name = #{name},
</if>
<if test="age != null " >
user_age = #{age},
</if>
<if test="height != null " >
user_height = #{height},
</if>
</trim>
</update>