命名空间

命名空间在之前版本的 MyBatis 中是可选项,非常混乱在使用上也没有帮助。现在,命名空间是必须的,而且有一个目的,它使用更长的完全限定名来隔离语句。

命名 解析:为了减少输入量,MyBatis 对所有的命名配置元素使用如下的命名解析规则,包括语句,结果映射,缓存等。

直接查找完全限定名(比如“com.mypackage.MyMapper.selectAllThings”),如果发现就使用。

短名称(比如“selectAllThings”)可以用来引用任意含糊的对象。而如果有两个或两个以上的(比如“com.foo.selectAllThings”和“com.bar.selectAllThings”),那么就会得到错误报

告,说短名称是含糊的,因此就必须使用完全限定名。

对 BlogMapper 这样的映射器类来说,还有一个妙招。它们中间映射的语句可以不需要在 XML 中来写,而可以使用 Java 注解来替换。比如,上面的 XML 示例可以如下来替换:

package org.mybatis.example;

public interface BlogMapper {

@Select("SELECT * FROM blog WHERE id = #{id}")

Blog selectBlog(int id);

}

对于简单语句来说,使用注解代码会更加清晰,然而 Java 注解对于复杂语句来说就会混乱,应该限制使用。因此,如果你不得不做复杂的事情,那么最好使用 XML 来映射语句。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值