zoukankan      html  css  js  c++  java
  • mybatis使用注解

    IAccountDao

    package cn.edu.hznu.dao;
    
    import cn.edu.hznu.doamin.Account;
    import org.apache.ibatis.annotations.*;
    import org.apache.ibatis.mapping.FetchType;
    import java.util.List;
    
    /**
     * Created by wjj on 2020/4/1
     */
    @CacheNamespace(blocking = true)
    public interface IAccountDao {
        /*
        * 查询所有的账户信息并显示所属用户的信息
        * */
        @Select("select * from account")//sql语句
        @Results(id="AccountMap",//配置id属性,以后别的方法也可以引用
                value={//xml文件中的result
                @Result(id=true,column = "id" ,property = "id"),//id属性,是否主键 使用column和property将数据库中的列名和实体类中的属性名进行映射
                @Result(column = "uid" ,property = "uid"),
                @Result(column = "money" ,property = "money"),
                @Result(property = "user",column = "uid",//column 使用哪个属性进行查询
                        one = @One(
                    select="cn.edu.hznu.dao.IUserDao.findUserById",//查询方法
                        fetchType = FetchType.EAGER//开启懒加载(使用时才查询)
                ))
        })
        List<Account>findAll();
    
        @Select("select * from account where uid=#{uid}")
        @ResultMap("AccountMap")//采用上面设置的映射配置
        List<Account> findAccountByUid(Integer uid);
    }
    

      IUserDao

    package cn.edu.hznu.dao;
    
    import cn.edu.hznu.doamin.User;
    import org.apache.ibatis.annotations.*;
    import org.apache.ibatis.mapping.FetchType;
    import java.util.List;
    
    /**
     * Created by wjj on 2020/4/1
     */
    @CacheNamespace(blocking = true)//开启二级缓存,主配置文件中默认开启二级缓存
    public interface IUserDao {
        /*
        * 查找所有用户,并显示所属账户
        * */
        @Select("select * from user")
        @Results(id="UserMap",value={
                @Result(id=true,property = "id",column = "id"),
                @Result(property = "username",column = "username"),
                @Result(property = "sex",column = "sex"),
                @Result(property = "address",column = "address"),
                @Result(property = "birthday",column = "birthday"),
                @Result(property = "accounts",column = "id",many = @Many(
                        select = "cn.edu.hznu.dao.IAccountDao.findAccountByUid",
                        fetchType = FetchType.LAZY
                ))
        })
        List<User>findAll();
    
        /*
        * 查找用户
        * */
        @Select("select * from user where id=#{id}")
        User findUserById(Integer id);
    }
    

      

  • 相关阅读:
    IE 8 兼容性方法总结
    select 文本输入查询
    ES6开发环境准备--babel配置(1)
    HTML5--新增可伸缩矢量图SVG一(9)
    HTML5--新增元素canvas一(8.3)
    HTML5--新增元素canvas一(8.2)
    HTML5--新增元素canvas一(8.1)
    HTML5--新增拖放事件(7)
    HTML5--新增元素音频/视频(6)
    HTML5--Range对象的基本操作(5)
  • 原文地址:https://www.cnblogs.com/wjune-0405/p/12616159.html
Copyright © 2011-2022 走看看