mybatis中namespace的作用
时间: 2023-04-27 14:06:08 浏览: 119
MyBatis中的namespace用于指定映射文件的命名空间,它的作用是将映射文件中的SQL语句与Java接口或类进行绑定,使得在Java程序中可以通过调用接口或类的方法来执行SQL语句。同时,namespace还可以用于区分不同的映射文件,避免命名冲突。在MyBatis中,每个映射文件都应该有一个唯一的namespace。
相关问题
mybatis namespace作用
Mybatis中的namespace主要用于区分不同的Mapper文件,每个Mapper文件都应该有一个唯一的namespace。通过namespace可以方便地在代码中引用对应的Mapper文件,同时也可以避免不同Mapper文件中方法名重复的问题。在Mapper文件中,namespace还可以用于定义SQL语句的命名空间,以便在代码中调用。总之,namespace在Mybatis中起到了很重要的作用,是Mapper文件的重要标识。
mybatis的namespace
在MyBatis中,namespace的作用是实现语句与接口的绑定,通过生成mapper接口代理的方式替代dao层设计。如果要采用面向接口的编程方式,namespace必须为mapper接口的全类名对象。
从源码角度来看,获取代理对象必然要调用configuration.java中的getMapper方法。在getMapper方法中会获取namespace属性,并将当前namespace设置为mapper接口的全类名对象。如果namespace不是mapper接口的全类名对象,则会报错。
另外,MyBatis还包含两级缓存:一级缓存和二级缓存。一级缓存是默认开启的,它是SqlSession级别的缓存,也称为本地缓存。而二级缓存需要手动开启和配置,它是基于namespace级别的缓存。通过实现Cache接口,我们可以自定义二级缓存。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [mybatis中的namespace及mapper](https://blog.csdn.net/biliangliang/article/details/84034262)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [Mybatis学习20 缓存](https://blog.csdn.net/technologyleader/article/details/122306246)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文