MyBatis中映射文件的组成标签

MyBaits真正的核心是在映射语句中,对于所有的SQL映射的XML文件,对比JDBC代码量大约节省了95%的代码量。
分离SQL与JAVA代码,便于数据库设计人员更好的优化SQL及修改。

SQL映射文件的顶级元素:
cache:配置给定命名空间的缓存
cache-ref:从其他命名空间引用缓存配置
resultMap:最复杂,最有力量的元素,用来描述如何从数据库结果集中来加载你的对象
sql:可以重用的SQL块,也可以被其他语句引用
insert:映射插入语句
update:映射更新语句
delete:映射删除语句
select:映射查询语句

下面通过select实例,来了解相关属性信息
<select
id="selectPerson"
parapeterType="int"
resultType="hashmap"
resultMap="personResultMap"
flushCache="false"
useCache="true"
timeout="10000"
fetchSize="256"
statementType="PREPARED"
resultSetType="FORWORD_ONLY"
>


id:在命名空间中唯一的标识符
paramerType:将会传入这条语句的参数类的完全限定名或别名
resultType:从这条语句中返回的期望类型的类的完全限定名或别名。
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中的一种。默认不设置


重用SQL
<sql id="userColumns">id,username,password</sql>
这个SQL片段可以被包含在其他语句中,eg:
<select id="selectUsers" paramertType="int" resultType="hashmap">
select <include refid="userColumns"/>
from some_table
</select>


完全限定名使用别名替代
在总配置文件中,使用如下代码
<typeAlias type="com.someapp.model.User" alias="User"/>
那么在Mapper中,可以直接使用User,即表示com.someapp.model.User
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值