代码语言:javascript复制
package org.sjframework.learn.mybatis.dao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
/**
* mybatis dao
* <p>
* note:order by need use ${}
*
* @author 719383495@qq.com | 719383495qq@gmail.com | 有问题可以邮箱或者github联系我
* @date 2019/10/14 22:10
*/
@Mapper
public interface UserDao {
/**
* get
*
* @param param
* @return
*/
@Select("select * from t_user where user_id = #{?}")
List<Map<String, String>> get(String param);
/**
* test01 list or array
* <p>
* collection default list/array if not @Param
*
* @param param
* @return
*/
@Select("<script>select * from t_user where user_id in "
"<foreach collection="list0" index="index" item="item" open="(" separator="," close=")">"
"#{item}</foreach></script>")
List<Map<String, String>> test01(@Param("list0") List param);
/**
* test02 map
*
* @param param
* @return
*/
@Select("<script>select * from t_user where user_id in "
"<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">"
"#{item}</foreach></script>")
List<Map<String, String>> test02(Map param);
/**
* test03 list<Map>
*
* @param param
* @return
*/
@Select("<script>select * from t_user where user_id in "
"<foreach collection="list" index="index" item="item" open="(" separator="," close=")">"
"#{item.id}</foreach></script>")
List<Map<String, String>> test03(List<Map> param);
/**
* test04
* if
*
* @param param
* @return
*/
@Select("<script>select * from t_user where 1=1 "
"<if test="uid!=null and uid!=''">and user_id = #{uid}</if>"
"<if test="uid==null or uid==''">and user_id ='U00002'</if>"
"</script>")
List<Map<String, String>> test04(@Param("uid") String param);
/**
* test05
* choose when otherwise like switch
*
* @param param
* @param sort
* @return
*/
@Select("<script>select * from t_user where 1=1 "
"<choose>"
"<when test="uid!=null and uid!=''">and user_id = #{uid}</when>"
// "<when test="uid!=null and uid!=''">and user_id = 'U00003'</when>"
"<otherwise>and user_id in ('U00002','U00003')</otherwise></choose>"
"order by user_id ${sort}"
"</script>")
List<Map<String, String>> test05(@Param("uid") String param, @Param("sort") String sort);
}
``