03.Mybatis SQL 映射的 XML 文件
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,MyBatis 真正的力量是在映射语句中,SQL 映射文件有以下几个顶级元素.cache - 配置给定命名空间的缓存cache-ref - 从其他命名空间引用缓存配置resultMap - 用来描述如
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
网络安全课视频2018
好用的ssr节点服务器
没有数据库可以建立网站吗
更新系统时显示连接服务器失败
石油石化行业网络技术的应用
超大数据库如何导出
软件开发征税吗
数据库的html输出怎么防
低功耗笔记本服务器
参加网络安全大赛
观众数据库
饭圈乱象绘网络安全绘画8开纸
华为校招软件开发面经
互联网科技周刊
数据库real长度
分析公司报表到哪找数据库
广州远智新景软件开发有限公司
winform绑定数据库
北京大神圈网络技术有限公司
公安机关dna数据库自动比对
企业网络安全绪论
网络安全法自什么时间起施行
数据库指标需求开发
数据库中为什么不能建立索引
计算机网络技术基础认知
网络安全风险控制措施
数据库应用属于什么学院的课
三级网络技术网络编程
中际旭创网络安全
古黄河服务器属于哪里