iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >mybatis学习笔记之mybatis注解配置详解
  • 819
分享到

mybatis学习笔记之mybatis注解配置详解

mybatis注解配置 2023-05-30 18:05:42 819人浏览 安东尼
摘要

Java API既然你已经知道如何配置 mybatis 和创建映射文件,你就已经准备好来提升技能了。 MyBatis 的 Java api 就是你收获你所做的努力的地方。正如你即将看到的,和 JDBC 相比, MyBatis 很大程度简化了

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);

--结束END--

本文标题: mybatis学习笔记之mybatis注解配置详解

本文链接: https://www.lsjlt.com/news/220352.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql毫秒时间戳转时间怎么实现
    在MySQL中,可以使用FROM_UNIXTIME()函数将毫秒时间戳转换为时间。需要注意的是,FROM_UNIXTIME()函数接...
    99+
    2024-05-14
    mysql
  • mysql创建序列的方法是什么
    MySQL并没有内置的序列功能,但可以通过创建一个表来模拟序列的功能。以下是一种创建序列的方法: 创建一个表来存储序列的当前值: ...
    99+
    2024-05-14
    mysql
  • mysql怎么修改自增列的初始值
    要修改MySQL表中自增列的初始值,可以使用ALTER TABLE语句。以下是一个示例: ALTER TABLE table_nam...
    99+
    2024-05-14
    mysql
  • MySQL如何设置自增初始值
    在MySQL中,可以使用AUTO_INCREMENT关键字来设置自增初始值。可以使用以下语法来设置自增初始值: ALTER TABL...
    99+
    2024-05-14
    mysql
  • oracle怎么设置主键自增
    在Oracle数据库中,可以通过序列(Sequence)和触发器(Trigger)来实现设置主键自增的功能。 首先,需要创建一个序列...
    99+
    2024-05-14
    oracle
  • pgsql删除索引的方法是什么
    要删除一个索引,可以使用以下SQL语句: DROP INDEX index_name; 其中index_name是要删除的索引的名...
    99+
    2024-05-14
    pgsql
  • db2表空间状态0x4000怎么解决
    表空间状态0x4000表示该表空间为“冻结”状态,这可能是由于一些异常情况导致的。要解决这个问题,可以尝试以下几种方法: ...
    99+
    2024-05-14
    db2
  • mysql大文本字段优化的方法是什么
    在MySQL中,大文本字段(如TEXT、BLOB类型)的优化方法有以下几种: 使用合适的数据类型:根据实际需求选择合适的数据类型...
    99+
    2024-05-14
    mysql
  • oracle更改字符集的方法是什么
    要更改Oracle数据库的字符集,可以通过以下步骤来实现: 确保在更改字符集之前备份数据库,以防发生意外情况。 确定当前数据...
    99+
    2024-05-14
    oracle
  • 怎么更改oracle数据库字符集
    要更改Oracle数据库的字符集,可以按照以下步骤操作: 确保备份数据:在进行字符集更改之前,务必备份数据库以防止数据丢失。 ...
    99+
    2024-05-14
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作