问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mybatis怎么配置xml,mapper

发布网友 发布时间:2022-05-01 04:34

我来回答

2个回答

懂视网 时间:2022-05-01 08:55

  建议:从上面可以看出来,如果在<properties>中定义属性的话,有点乱,搞不好就会出错,所以开发中不要在<properties>元素体内添加任何属性值,只将属性值定义在properties文件中。另外在properties文件中定义的属性名要有一定的特殊性,如xxx.xxx,这样不容易和其他的一些属性值起冲突。

2. settings全局参数配置

  mybatis框架在运行时可以调整一些运行参数,比如:开启二级缓存、开启延迟加载等,有个settings全局参数配置文档:
技术分享
  这些全局参数的配置会影响mybatis的运行行为,需要的时候再设置,不需要的时候不能乱设置,这里就不做详细介绍了,等后面用到的时候我再针对相应的做一下介绍。说实在的,这么多我也懒得去看……

3. typeAliases类型别名

  这是配置中的一个重点,我们知道,在mapper.xml中定义了很多的statement,statement需要parameterType来指定输入参数的类型、需要resultType来指定输出结果的类型。如果在指定类型时输入类型全路径,有时候会很长,不方便进行开发,那么我们就可以可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名<typeAliases>来定义,方便开发。
mybatis有默认支持的一些别名,一般基本类型都有别名,如下:
技术分享
  但是针对pojo的需要我们自定义别名了,比如我们将自己定义的User对象取个别名为user,如下:

<!-- 别名的定义 -->
<typeAliases>
 <!-- 针对单个别名的定义。type:类型的路径; alias:别名 --> 
 <typeAlias type="mybatis.po.User" alias="user"/>
</typeAliases>

  然后输入参数或者输出结果为mybatis.po.User时,就可以用user来代替了,如下:
技术分享
  但是问题来了,如果工程中有很多pojo,那岂不是完蛋……这得定义多少个啊,所以mybatis帮我们解决了这个问题,它提供了批量别名的定义,如下:

<!-- 批量别名定义(这个常用)
指定一个包名,mybatis会自动的扫描包中po类,自动定义别名,别名就是类名(首字母大写或小写都可以) -->
<package name="mybatis.po"/>

  这就爽了,如果进行了上面这样设置,那么所有放在mybatis.po包下的pojo都可以不用定义了,直接使用类名就可以了,所以我们直接使用user即可。毫无疑问,开发中肯定使用这个批量的别名定义。

3. mappers映射配置

  在前面的几篇博文中可以看到,<mappers>标签是通过resource方法加载单个映射文件的,即:

<mappers>
 <mapper resource="sqlmap/User.xml" />
 <mapper resource="mapper/UserMapper.xml" />
</mappers>

  当然咯,除了resource外,也可以用url来加载,只不过url指定的是绝对路径,硬盘中的路径。这里就不举例了,这里介绍另一种加载映射文件的方式:通过mapper接口来加载。通过mapper接口来加载的话要遵循一个规范:

规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录中
这个规范的前提是:使用的是mapper代理的方法

  所以上面的配置就可以改成

<mappers>
 <mapper resource="sqlmap/User.xml" />
 <mapper class="mybatis.mapper.UserMapper"/>
</mappers>

  所以要把原来的UserMapper.xml从config/mapper中的拖到和UserMapper.java一个目录下且同名,如下:
技术分享
  但是还是有个弊端,就跟上面那个别名的配置一样,如果现在有好多个mapper咋整,所以mybatis也给我们提供了批量加载方法:我们只要指定mapper接口的包名,mybatis自动扫描包下面所有的mapper接口进行加载。当然,还是要遵循上面的那个规范。所以我们可以修改上面的配置:

<mappers>
 <mapper resource="sqlmap/User.xml" />
 <mapper class="mybatis.mapper"/>
</mappers>

  这样mybatis.mapper包下的所有mapper.xml映射文件都可以加载了,这就更加简洁了。在开发中推荐使用这种批量加载映射文件的方法。
  关于SqlMapConfig.xml文件中的配置就总结这么多吧~
  

  相关阅读:http://blog.csdn.net/column/details/smybatis.html
  学习笔记源码下载地址:https://github.com/eson15/MyBatis_Study


—–乐于分享,共同进步!
—–更多文章请看:http://blog.csdn.net/eson_15

【MyBatis学习05】SqlMapConfig.xml文件中的配置总结

标签:

热心网友 时间:2022-05-01 06:03

具体方法
一般要检查配置文件命名空间,还有applicationContext.xml里的配置
<bean id ="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:dataSource-ref="dataSource" p:configLocation="classpath:mybatis-config.xml">
<property name="mapperLocations">
<list>
<value>classpath*:com/xxx/**/*Mapper.xml</value>
</list>
</property>
</bean>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
可以提前退出“三支一扶”计划吗 能提前退出“三支一扶”计划吗 绒沙金礼品制作工艺 什么叫绒沙金 榖皮巾的意思是什么 IPOD新版本安装会不会影响内存 我的是ipod 4 8G的,我下载了东西以后发现内存是占了,但是显示不出来东西... 为什么我的IPOD下载程序只用了4G却显示用了6.4G 间谍过家家阿尼亚表情包汇总(间谍过家家阿尼亚次子) 关于"化物语"中的女主 战场原黑仪(戦场ヶ原ひたぎ)的1440*900宽屏壁纸... 深圳公司开基本户,外币账户所需条件 离岸公司银行开户 中船集团公司五大造修船基地之一, 和三大海工生产基地之一各是指哪些企业? 中国银行深圳地区外国籍客户开立个人存款账户需要什么条件 微信签名用什么成语 中国银行深圳地区外国籍客户个人存款账户开户办理条件 想找微信上的个性签名好的词汇 个性签名用什么词语好 请问一下当兵的兵查什么部首 如何保持荣誉的个人心得体会 消防监控室操作人员的职责是什么? 如何培养集体荣誉感 班级管理随笔 如何能体现自己的集体荣誉感? 怎样看待集体荣誉感? 写自己对班级的集体荣誉感 我心中的集体荣誉感 作文300字 谁有 捕鱼之海底捞的 电脑版 要无限金币的 请发给我一个 谢谢 29771992@qq.com 谁了解翻译器的,请问翻译器哪个好用?本人目前在关注糖果翻译手机,不知道这两者哪种更好一些? 关于集体荣誉感的高中军训日记 SUGARS20如何改键盘 《西游记》里的二郎神与《封神演义》里的杨戬,是同一个人么? 跪求中船澄西远航(广州)有限公司待遇 小红书打招呼什么意思? 小红书每天私信五条什么时候重置 封神演义中,杨戬为什么没入封神榜? 小红书里面后台怎么踢踢别人? 除了八九玄功以外,封神演义中的杨戬还有什么大神通? 美国的一部僵尸电影:化学试剂泄露,一人被感染变为僵尸,后被人扔进焚尸炉烧了,灰尘进入空气中,突然下 封神演义中,杨戬仅是阐教三代弟子,为啥拥有真君尊号? 欧岛洗发水是正品吗? 中国船舶基本面怎么样 有一部关于逃离食人族部落(非惊心食人族)的外国血腥电影叫什么? 中国船舶怎么样中国船舶 脸上一直长痘痘,心情郁闷怎么办? 论文参考文献大学毕业论文参考文献必须要是近三到五年内的么 湖南省防止返贫和帮扶管理平台多久申请成功。 近3年第三方物流论文参考文献 玻璃贴纸PET好还是PvE好? 论文参考文献把文献的年份都给改成近几年的,学校查重会查出来吗。 近几年医药方面参考文献