Java API
创新互联建站专业为企业提供西塞山网站建设、西塞山做网站、西塞山网站设计、西塞山网站制作等企业网站建设、网页设计与制作、西塞山企业网站模板建站服务,十余年西塞山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了。 MyBatis 的 Java API 就是你收获你所做的努力的地方。正如你即将看到的,和 JDBC 相比, MyBatis 很大程度简化了你的代码而且保持简洁,很容易理解和维护。MyBatis 3 已经引入 了很多重要的改进来使得 SQL 映射更加优秀。
MyBatis 3构建在基于全面且强大的Java配置API上。该配置API是基于XML的MyBatis配置的基础,也是新的基于注解配置的基础。
注解提供了一种简单的方式来实现简单映射语句,而不会引入大量的开销。
Mybatis常用注解对应的目标和标签如表所示:
注解 | 目标 | 对应的XML标签 |
@CacheNamespace | 类 | <cache> |
@CacheNamespaceRef | 类 | <cacheRef> |
@Results | 方法 | <resultMap> |
@Result | 方法 |
<result> <id> |
@One | 方法 | <association> |
@Many | 方法 | <collection> |
@Insert @Update @Delete |
方法 |
<insert> <update> <delete> |
@InsertProvider @UpdateProvider @DeleteProvider @SelectProvider |
方法 |
<insert> <update> <delete> <select> 允许创建动态SQL |
@Param | 参数 | N/A |
@Options | 方法 | 映射语句的属性 |
@select | 方法 | <select> |
Mybatis常用注解的含义:
@CacheNamespace(size = 512):定义在该命名空间内允许使用内置缓存
@Options(useCache = true, flushCache = false, timeout = 10000):一些查询的选项开关
@Param("id"):全局限定别名,定义查询参数在sql语句中的位置不再是顺序下标0,1,2,3......的形式,而是对应名称,该名称在此处定义。
@Results是以@Result为元素的数组,@Result表示单条属性——字段的映射关系,id = true表示该id字段是主键,查询时mybatis会给予必要的优化。数组中所有的@Result组成了单个记录的映射关系,而@Results则是单个记录的集合。另外,还有一个非常重要的注解@ResultMap,其与@Results类似
@Select("查询语句")、@Insert("增加语句")、@Update("更新语句")和@Delete("删除语句")表示对数据进行查询、添加、更新和删除的操作。
接下来,咱们来看一下注解的使用。
(1) 常规注解使用(不需要自定义map的操作):
示例1
//添加作者 @Insert("Insertinto Author(username,password,email,address,phone) " + "values(#{username},#{password},#{email},#{address},#{phone})") @Options(useGeneratedKeys=true,keyProperty="authId",flushCache= false, timeout = 10000) public voidaddAuthor(Author author); //删除作者 @Delete("deletefrom author where id = #{id}") @Options(flushCache= false, timeout = 10000) public voiddeleteAuthor(@Param("id") int id);
当前名称:mybatis学习笔记之mybatis注解配置详解-创新互联
转载来源:https://www.cdcxhl.com/article6/dshhog.html
成都网站建设公司_创新互联,为您提供定制网站、外贸网站建设、网站维护、响应式网站、App设计、静态网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联