03.Mybatis SQL 映射的 XML 文件
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,MyBatis 真正的力量是在映射语句中,SQL 映射文件有以下几个顶级元素.cache - 配置给定命名空间的缓存cache-ref - 从其他命名空间引用缓存配置resultMap - 用来描述如
千家信息网最后更新 2025年02月05日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安全错误
数据库的锁怎样保障安全
网络安全法法律知识
2008服务器管理未激活
软件开发都什么联位
新时代领导干部的网络安全观
学科竞赛管理系统服务器错误
手机服务器是什么意思
网络安全保护和监管
网络安全法第二十七条的规定
数据库制裁俄罗斯
印发网络安全制度
svn同步服务器代码
菏泽数字化城管软件开发系统
怎样管理百度云服务器
怎么查看网易云音乐数据库
温州传奇服务器租赁
我的世界服务器pe
软件开发自学可以找工作
公司云服务器管理制度
顺义区信息化软件开发介绍
华为刀片服务器维修价格
临沂万网网络技术
数据库 test
信息网络安全教育资料
华为2203服务器配置管理口
计算机网络技术在物流
如何用toad导出数据库
计算机网络技术专业教育目标
网络安全六大看点
软件开发公司收入排行
任子行300311网络安全