Mybatis注解

注解(简化配置文件)

Mybatis的注解简化mapper.xml文件(涉及动态SQL就不可用(×))

注解和全局配置文件mapper.xml共存!!!

注解的简单实用

使用注解:
        1. package标签(用接口里面写注解)
        2. mapper标签里面用class属性(原来是resource取对应配置文件)

例:
    1. 第一种用package的方式:    
     <mappers>
        <package name="com.bjsxt.com"/>  //因为后面的被对应的配置文件用别名起了
    </mappers>

    2. 第二种更改class属性

    <mappers>
        <mapper class="com.bjsxt.com.XXXMapper"/>
    </mappers>

package(接口内写注解)

1. 查询 @Select

1
2
@Select("select * from teacher")
List<Teacher> selAll();

2. 新增 @Insert

1
2
@Insert("insert into teacher values(default,#{name})" )
int insTeacher(Teacherteacher);

3. 修改 @Update

1
2
@Update("update teacher set name=#{name} where id=#{id}" )
int upd Teacher(Teacherteacher);

4. 刪除 @Delete

1
2
@Delete("delete from teacher whereid=#{0}" )
int delById(intid);

注解实现resultMap功能(老师和学生的例子)

其实就是一些注解名和resultMap标签对等

学生接口添加注解

1
2
@Select("select * from student wheret id=#{0}")  //相当于student配置文件里面写sql语句
List<Student> selByTid(int tid);

老师接口添加注解

1
2
3
4
5
6
7
8
9
@Results(       //相当于resultMap标签
value={
@Result(id=true,property="id",column="id"), //相当于id/result标签
@Result(property="name",column="name"),
@Result(property="list",column="id",many=@Many(select="com.bjsxt.mapper.StudentMapper.selByTid")) //Many相当于collection(集合对象)
})

@Select("select * from teacher")
List<Teacher> selTeacher();

总结

1.     @Results()   == resultMap标签
2.     @Result()    == id/result标签 (主键/其他键)
3. @Result(id=true) == id标签
4.      @Many()     == collection标签 (集合对象)
5.      @One()      == association标签 (单个对象)

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 注解(简化配置文件)
  2. 2. 注解的简单实用
    1. 2.1. package(接口内写注解)
  3. 3. 注解实现resultMap功能(老师和学生的例子)
    1. 3.1. 学生接口添加注解
    2. 3.2. 老师接口添加注解
    3. 3.3. 总结
,