MyBatis教程大全


 MyBatis SQL 映射

     MyBatis select 标签

     MyBatis 多数据库支持

     MyBatis selectKey 标签作用

     MyBatis @SelectKey注解用法介绍

     MyBatis @SelectKey注解用法详细介绍

     MyBatis keyProperty 属性介绍

     MyBatis insert、update 和 delete 元素

     MyBatis sql 元素

 MyBatis SQL 参数映射

     MyBatis SQL 参数映射

 MyBatis 动态SQL

     MyBatis 动态SQL与数据准备

     MyBatis if 标签

     MyBatis if else 用法

     MyBatis choose、when、otherwise 标签

     MyBatis where 标签

     MyBatis set 标签

     MyBatis foreach 标签

     MyBatis bind 标签

     MyBatis trim 标签

 MyBatis SQL 结果映射

 MyBatis SQL 结果之关系映射

 MyBatis 使用介绍

     MyBatis typeAliases 类型别名

     MyBatis typeHandlers 类型处理器

     MyBatis Transaction 事务接口

     MyBatis transactionManager 事务管理

     SqlSessionFactory 介绍

     MyBatis 核心对象 SqlSession

     MyBatis 初始化 创建 Session 实例

     MyBatis ObjectFactory 对象工厂

     MyBatis缓存机制:一级缓存和二级缓存

     MyBatis 常用注解

 MyBatis 配置文件

     MyBatis 配置文件

 MyBatis 映射

     MyBatis 映射简介

     MyBatis ResultMap 映射

     MyBatis 自动映射

     MyBatis 高级映射

     MyBatis 集合映射

     MyBatis 关联映射

     MyBatis 一对一关联映射

     MyBatis 一对多关联映射

     MyBatis 多对多关联映射

     MyBatis 一对一(注解形式)

     MyBatis 一对多(注解形式)

     MyBatis 多对多(注解形式)

     MyBatis resultMap 元素

 MyBatis 面试题库

     #{}和${}的区别是什么?

     数据库链接中断如何处理?

     数据库插入重复如何处理?

     事务执行过程中宕机的应对处理方式

     Java客户端中的一个Connection问题

MyBatis 常用注解

MyBatis 注解( annotation)

之前文章介绍了MyBatis的基本用法、关联映射、动态SQL和缓存机制等知识,其所有的配置都是使用XML完成,但是大量的XML配置文件的编写是非常繁琐的,因此MyBatis也提供了更加简便的基于注解( annotation)的配置方式。

MyBatis 常用注解

本文将重点介绍MyBatis的注解配置,MyBatis的注解位于org.apache.ibatis.annotations包下。常用Annotation注解有:

Select注解:映射查询的SQL语句。

SelectProvider注解:Select语句的动态SQL映射。允许指定一个类名和一个方法在执行时返回运行的查询语句。有两个属性: type 和method。type属性是类的完全限定名,method是该类中的那个方法名。

Insert注解:映射插入的SQL语句。

InsertProvider注解:Insert语句的动态SQL映射。允许指定一个类名和一个方法在执行时返回运行的插入语句。有两个属性: type和method。type属性是类的完全限定名,method是该类中的那个方法名。

Update注解:映射更新的SQL语句。

UpdateProvider注解:Update语句的动态SQL映射。允许指定一个类名和一个方法在执行时返回运行的更新语句。有两个属性: type 和method。type 属性是类的完全限定名,method是该类中的那个方法名。

Delete注解:映射删除的SQL语句。

DeleteProvider注解:Delete 语句的动态SQL映射。允许指定一个类名和一个方法在执行时返回运行的删除语句。有两个属性: type 和method。type 属性是类的完全限定名,method是该类中的那个方法名。

Result注解:在列和属性之间的单独结果映射。属性包括: id、column、property、javaType、jabcType、type、Hander、one、many。id属性是一个布尔值,表示是否被用于主键映射。one属性是单独的联系,和XML配置中的<association>相似,而many属性是对集合而言的,和XML配置的<collection>相似。

Results注解:多个结果映射(Result) 列表。

Options注解:提供配置选项的附加值,它们通常在映射语句上作为附加功能配置出现。

One注解:复杂类型的单独属性值映射。必须指定select属性,表示已映射的SQL语句的完全限定名。

Many注解:复杂类型的集合属性映射。必须指定select属性,表示已映射的SQL语句的完全限定名。

Param注解:当映射器的方法需要多个参数时,这个注解可以被应用于映射器方法的参数,给每个参数取一个名字。例如,使用@Param("id"),SQL中参数应该被命名为#{id}。否则,默认情况下,多参数将会以它们的顺序位置和SQL语句中的表达式进行映射。如下所示:

<insert id="insertUser" parameterType="User">
  insert into users (id, username, password)
  values (#{id}, #{username}, #{password})
</insert>

如果 User 类型的参数对象传递到了语句中,会查找 id、username 和 password 属性,然后将它们的值传入预处理语句的参数中。