zoukankan      html  css  js  c++  java
  • mybatis注解开发

    一、一对一

    /*
    1、在mybatis.xml配置文件中,开启二级缓存
        <settings>
            <!--开启二级缓存-->
            <setting name="cacheEnabled" value="true"/>
        </settings>
    */
    @CacheNamespace(blocking = true)// 2、启用二级缓存
    public interface StudentMapper {
        Integer insertStudent(Student student);
    
        List<Student> selectAllStudent(Map map);
    
        Student selectStudentGradeById(Integer id);
    
        List<Student> selectStudentsByGrade(Integer gradeId);
    
        // 一对一通常使用立即加载(FetchType.EAGER)
        @Select("select * from student where id=#{id}")
        @Results(id = "studentMap", value = {
                @Result(id = true, column = "id", property = "id"),
                @Result(column = "id", property = "id"),
                @Result(column = "name", property = "name"),
                @Result(column = "age", property = "age"),
                @Result(column = "sex", property = "sex"),
                @Result(column = "grade_id", property = "gradeId"),
                @Result(column = "grade_id", property = "grade",
                        one = @One(select = "com.wuxi.daos.GradeMapper.selectById",
                                fetchType = FetchType.EAGER)),
        })
        Student selectStudentByIdAnno(Integer id);
    
        @Select("select * from student")
        @ResultMap("studentMap")
        List<Student> selectAllStudentAnno();
    
        @Insert("insert into student(name,age,sex,grade_id) values(#{name},#{age},#{sex},#{gradeId})")
        Integer insertStudentAnno(Student student);
    
        @Update("update student set name=#{name}, age=#{age}, sex=#{sex} where id=#{id}")
        Integer updateStudentByIdAnno(Student student);
    
        @Delete("delete from student where id=#{id}")
        Integer deleteStudentByIdAnno(Integer id);
    }

    二、一对多

    public interface GradeMapper {
        // 注解和xml配置可以同时使用
        Grade selectById(Integer id);
    
        // 一对多通常使用延迟加载(FetchType.LAZY)
        @Select("select * from grade where id = #{id}")
        @Results(id = "gradeMap", value = {
                @Result(id = true, column = "id", property = "id"),
                @Result(column = "name", property = "name"),
                @Result(column = "id", property = "students",
                        many = @Many(select = "com.wuxi.daos.StudentMapper.selectStudentsByGrade",
                                fetchType = FetchType.LAZY)),
        })
        Grade selectByIdAnno(Integer id);
    }
  • 相关阅读:
    [APIO2018] Duathlon 铁人两项
    「PKUWC2018」随机游走
    「2018山东一轮集训」 Tree
    「2018山东一轮集训」Game
    [Lydsy1805月赛] quailty 算法
    CodeForces
    CodeForces
    「2018山东一轮集训」鸽子
    python序列化
    python的shutil模块
  • 原文地址:https://www.cnblogs.com/linding/p/13648555.html
Copyright © 2011-2022 走看看