欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mybatis的命名空间和SqlSessionFactoryBuilder

程序员文章站 2022-04-24 18:45:47
...

命名空间的一点注释

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

package org.mybatis.example;

public interface BlogMapper {

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

Blog selectBlog(int id);

}

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

当然这也取决于你和你的项目团队的决定,看哪种更适合你来使用,还有以长久方式来使用映射语句的重要性。也就是说,不要将自己局限在一种方式中。你可以轻松地将注解换成XML映射语句,反之亦然。

 

SqlSessionFactoryBuilder

 

这个类可以被实例化,使用和丢弃。一旦你创建了SqlSessionFactory后,这个类就不需要存在了。因此SqlSessionFactoryBuilder实例的最佳范围是方法范围(也就是本地方法变量)。你可以重用SqlSessionFactoryBuilder来创建多个SqlSessionFactory实例,但是最好的方式是不需要保持它一直存在来保证所有XML解析资源,因为还有更重要的事情要做