package org.example.dao;
import org.apache.ibatis.annotations.*;
import org.example.domain.QueryVo;
import org.example.domain.ResultVo;
import org.example.domain.Role;
import org.example.domain.User;
import java.util.List;
@CacheNamespace(blocking = true)
public interface UserDao2 {
@Select("select * from user;")
List<User> findAll();
@Select("select * from user where id = #{id}")
User findUserById(Integer id);
@Select(value = "select * from user" )
@Results(id = "userMap",value = {
@Result(property = "userId",column = "id",id = true),
@Result(property = "username",column = "username"),
@Result(property = "userSex",column = "sex"),
@Result(property = "userBirthday",column = "birthday"),
@Result(property = "userAddress",column = "address")
})
List<ResultVo> findAllVo();
List<User> findAll2();
int insertUser(User user);
void upDateUser(User user);
void delUser(int id);
User findUser(int id);
List<User> findUserByName(String name);
ResultVo findUserByQueryVo(QueryVo queryVo);
List<User> findUserByCondition(QueryVo vo);
List<User> findUserByIds(QueryVo vo);
@Select(value = "select * from user ")
@Results(value = {
@Result(id = true,property = "id",column = "id"),
@Result(property = "roles",column = "id",many = @Many(select = "org.example.dao.UserDao2.findRoleById"))
})
List<User> findAllwithRoles();
@Select("select * from role left join user_role ur on role.id = ur.rid where uid =#{uid}")
List<Role> findRoleById(Integer uid);
List<User> findAllwithAccountLazy();
}
网友评论