03.Mybatis SQL 映射的 XML 文件
发表于:2024-09-24 作者:千家信息网编辑
千家信息网最后更新 2024年09月24日,MyBatis 真正的力量是在映射语句中,SQL 映射文件有以下几个顶级元素.cache - 配置给定命名空间的缓存cache-ref - 从其他命名空间引用缓存配置resultMap - 用来描述如
千家信息网最后更新 2024年09月24日03.Mybatis SQL 映射的 XML 文件
MyBatis 真正的力量是在映射语句中,SQL 映射文件有以下几个顶级元素.
- cache - 配置给定命名空间的缓存
- cache-ref - 从其他命名空间引用缓存配置
- resultMap - 用来描述如何从数据库结果集中来加载你的对象
- sql - 可以重用的 SQL 块,也可以被其他语句引用
- insert - 映射插入语句
- update - 映射更新语句
- delete - 映射删除语句
- select - 映射查询语句
select
查询语句是使用 MyBatis 时最常用的元素之一,对于每次插入,更新或删除,那也会有很多的查询。这是 MyBatis 的一个基本原则,也是将重心和努力放到查询和结果映射的原因。对简单类别的查询元素是非常简单的。
比如:
这个语句被称作 selectPerson,使用一个 int(或 Integer)类型的参数,并返回一个 HashMap类型的对象,其中的键是列名,值是列对应的值。
这就告诉 MyBatis 创建一个 PreparedStatement(预处理语句)参数。使用JDBC,这样的一个参数在 SQL 中会由一个"?"来标识,并被传递到一个新的预处理语句中,就像这样:
// 相似的JDBC代码,不是MyBatis的String selectPerson = "SELECT * FROM PERSON WHERE ID=?";PreparedStatement ps = conn.prepareStatement(selectPerson);ps.setInt(1,id);
当然,这需要很多单独的 JDBC 的代码来提取结果并将它们映射到对象实例中,这就是MyBatis 节省你时间的地方。我们需要深入了解参数和结果映射.
select 元素有很多属性允许你配置,来决定每条语句的作用细节。
如下内容为各个参数的介绍:
- id [在命名空间中唯一的标识符,可以被用来引用SQL语句]
- parameterType [传入SQL语句的参数类的类型]
- resultTyp [SQL语句中返回的期望类型的类的类型或者别名。对于集合来说,那应该是集合可以包含的类型,而不能是集合本身]
- resultMap [命名引用外部的 resultMap]
- flushCache [将其设置为 true,无论语句什么时候被调用,都会导致缓存被清
空。默认值:false] - useCache [将其设置为 true,将会导致本条语句的结果被缓存。默认值:true]
- timeout [驱动程序等待数据库返回请求结果,并抛出异常时间的
最大等待值] - fetchSize [驱动程序每次批量返回的结果行数]
- statementType [STATEMENT,PREPARED 或 CALLABLE 的一种,这会让 MyBatis使用选择使用 Statement,PreparedStatement 或 CallableStatement,
默认值:PREPARED] - resultSetType [FORWARD_ONLY|SCROLL_SENSITIVE|SCROLL_INSENSITIVE
中的一种。默认是不设置(驱动自行处理)]
insert
对于插入操作,假如数据库表结构中支持自动生成主键的字段,那么你可以设置 useGeneratedKeys="true",而且设置 keyProperty 到你已经做好的目标属性上.
例如:
insert into Author (username,password,email,bio)values (#{username},#{password},#{email},#{bio})
update
例如:
update Author setusername = #{username},password = #{password},email = #{email},bio = #{bio}where id = #{id}
delete
例如:
delete from Author where id = #{id}
语句
参数
类型
结果
查询
元素
缓存
对象
数据
数据库
空间
配置
驱动
代码
属性
时间
标识
程序
驱动程序
更新
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
mysql查找数据库
数据库两表查询和三表查询
经信委 软件开发环境
普陀区正规软件开发学习
数据库y
数据库多条记录怎么查
金蝶专业如何连服务器
网络异常与服务器断开连接
网络安全怎么自我保护
杜廷龙 网络安全
无线和有线的网络安全
国产x86服务器主板
软件开发计划书所需软硬件
食品营销数据库有哪些
苏州相城软件开发公司
传奇服务器哪里下载好
网络安全事件监控视频
软件开发外包在哪里开发
迪普科技软件开发笔试
云服务器文件安全
蓟州区企业网络技术不二之选
天津云空间装修云服务器
网络安全6层防护
北大网络技术期末考试
火影忍者服务器崩坏怎么办
java版服务器地址怎么看
河北数据库安全箱定制价格
sql数据库怎么登录失败
电子商务网络安全与技术专业
网络安全办公室述职报告