mybatis-2-UserDao注解 范例

2020-06-22  本文已影响0人  blank_white
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();
}

上一篇 下一篇

猜你喜欢

热点阅读