Array MyBatis y juicio de colección vacíos

Tabla de contenido

Conjunto vacío

colección vacía 2

matriz vacía

datos vacíos 2


Conjunto vacío

Aquí la colección es el nombre de la lista definido por el mapeador, no el tipo de datos

<if test="list!=null and list.size()>0">
	<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
        #{item}
    </foreach>
</if>

colección vacía 2

En MyBatis, foreachcuando usas la etiqueta para atravesar elementos de la colección, puedes agregar fuera de ella <if>para juzgar si la colección está vacía o no. El código de ejemplo es el siguiente:

<select id="queryUserByIds" resultType="User">
   select * from user where id in
   <foreach item="id" collection="ids" open="(" separator="," close=")">
      #{id}
   </foreach>
   <if test="ids == null or ids.isEmpty()">
      <bind name="ids" value="'-1'" />
   </if>
</select>

En el código anterior, el atributo <if>en la etiqueta testdetermina idssi la colección es nula o vacía. Si los ID de la colección están vacíos, use bindla etiqueta para inicializar los ID, aquí configurados en -1. Al usar la etiqueta foreach para recorrer la colección, si ids es nulo o está vacío, no ingresará al bucle foreach.

Puede juzgar si la colección está vacía utilizando la etiqueta if fuera de la etiqueta foreach y luego realizar operaciones posteriores según la situación.

matriz vacía

Aquí la colección es el nombre de la matriz definido por el mapeador, no el tipo de datos

<if test="arr!=null and arr.length>0">
	 <foreach collection="array" index="index" item="item" open="(" separator="," close=")">
        #{item}
    </foreach>
</if>

datos vacíos 2

En MyBatis, también puedes usar expresiones OGNL para determinar si la matriz está vacía. Esto se puede lograr usando:

<select id="findUsersByIds" resultMap="user">
    SELECT *
    FROM user
    WHERE user_id IN
    <foreach item="id" collection="ids" separator="," open="(" close=")">
        #{id}
    </foreach>
    <if test="ids != null and ids.length > 0">
        AND status=1
    </if>
</select>

En el ejemplo anterior, idsqueremos juzgar si se trata de una matriz vacía y ifla expresión OGNL se usa en la etiqueta para juzgar.

¡Por favor, dale me gusta si es útil y desarrolla un buen hábito!

¡Por favor deje un mensaje de aliento, comunicación y preguntas!

Supongo que te gusta

Origin blog.csdn.net/libusi001/article/details/131524079
Recomendado
Clasificación