关于myBatis配置中的一些注意事项
最近在学习mybatis,在网上查阅资料,并按照别人的范例来测试,总会出一些错误,这里把配置过程中的一些注意事项梳理一下。
一、导包(用eclipse开发)
1、如果你新建的是普通的project,需要在工程目录下,新建一个文件夹(一般为lib),然后需要手动导包,具体操作是:选中包右键-Build Path-add to Build Path。之前的文件夹不能删除,因为它实际上加载的是这些包的路径。
2、如果你新建的是web工程,只需要把相关包放到WEB-INF/lib 中即可,它会自动导包,同样lib里的包不能删除。
二、XML文件配置
1、该配置文件名可以自定义,放置的路径也可以自定义,但是如果你不是放在src的根路径下,比如放在src/config/mybatis.xml,在创建SqlSessionFactory实例时,Resources.getResourceAsReader("config/mybatis.xml"),config前不能加“/”,如果放在src根路径下,这里直接写文件名即可。
2、配置文件里配置项目是有先后顺序的,依次是:properties,settings,typeAliases,typeHandlers,objectFactory,objectWrapperFactory,plugins,environments,databaseIdProvider,mappers,那个选项不配置,它的位置空出来,但顺序必须遵循,否则会报错。
3、properties选项,可导入外部以properties结尾的配置文件。通常会将数据库的连接信息放在该配置文件里,这时在配置dataSource时,value=“${driver}”,这种形式,此处driver对应的就是配置文件中driver = com.mysql.jdbc.Driver
4、在配置mapper时,有几种方式,分别是resource、url、class、package
resource形式:
<mappers>
<mapper resource="com/tiantian/mybatis/model/BlogMapper.xml"/>
</mappers>
这个路径是你xml映射文件的路径包名+文件名。
url形式:
<mappers>
<mapper url="file:///var/mappers/BlogMapper.xml"/>
</mappers>
这个路径对应的是网络上了某个文件,注意file:// 前缀 +路径+文件名
class形式:
<mappers>
<mapper class="org.mybatis.builder.BlogMapper"/>
</mappers>
这个class实际上是接口,写的是接口的全名。
package形式:
<mappers>
<package name="org.mybatis.builder"/>
</mappers>
5、实际项目中采用最多的是面向接口编程,也就是一个接口对应一个XML映射文件,如果让接口和映射文件对应呢?答案是XML映射文件中的mapper namespace="com.mybatis.inter.IUserOperation",这个namespace中一定是接口的全名,不能是别名、简名,否则运行时会报错。一般我们会把接口名和映射文件名写成一样的,而且在同一个包下,所以感觉namespace就是xml文件的全名。
关于myBatis配置中的一些注意事项的更多相关文章
- Mybatis配置中遇到的问题和问题分析
1.为什么这么配置,这个配置主要是作用是什么,主要的是针对什么 mybatis之xml映射配置 sql语句当中 Example_Where_Clause 这个仅仅是一段sql语句吗? <trim ...
- 项目总结2——mybatis配置的理解
之前的项目基本上都是用mongodb,以至于mysql相关的知识异常薄弱,这次连续一个半月的加班,总算是实际用到了mysql,也使自己对mysql了解的更多,对mybatis了解的更多,这里就说一说经 ...
- mybatis <sql /> 配置中 返回值 resultType 与resultMap的区别
mybatis的objectMapper.xml中, 1) 若<sql /> 查询语句中配置的是resultType=“实体类/DTO” ,则从mybatis返回的键值对结果集(Map)会 ...
- 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置
[转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...
- 2 将mybatis配置到springmvc中
为了更方便的连接数据库,将mybatis配置到springMVC中 1). 首先是jar包 多了3个jar druid 这个是阿里的数据库连接包 mybatis和 mybatis- ...
- nginx代理配置 配置中的静态资源配置,root 和 alias的区别。启动注意事项
这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...
- 使用Mybatis时mybatis-config.xml配置中"configuration" 的内容必须匹配 (.....)解决方案
一.简述 使用Mybatis配置mybatis-config配置文件时,经常遇到下列报错信息:org.xml.sax.SAXParseException; lineNumber: 36; column ...
- Mybatis系列(二):优化MyBatis配置文件中的配置和解决字段名与实体类属性名不相同的冲突
原文链接:http://www.cnblogs.com/xdp-gacl/p/4264301.html http://www.cnblogs.com/xdp-gacl/p/4264425.ht ...
- Mybatis配置映射文件中parameterType的用法小结
原创: 在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配 ...
随机推荐
- Centos 6.5 Multipath 初始配置
# This is a basic configuration file with some examples, for device mapper # multipath. # For a comp ...
- ajaxform和ajaxgird中添加数据
ajaxform添加数据 ajaxform.setRecord(response.getAjaxDataWrap("dataWrapBill").getData()); ajaxg ...
- css(float浮动和clear清除)
教程开始: 首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流.如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1 ...
- Linux_RHEL7_YUM
目录 目录 前言 RPM rpm常用指令 YUM yum常用指令RHEL7 最后 前言 yum:yellow dog updater modifier(黄狗包管理器),是RHEL默认的基于RPM包的软 ...
- Spring-QUARTZ定时任务demo
Quartz定时任务demo下载: https://github.com/AliceSunCong/quartz 大致流程: **1.pom文件引入QUARTZ依赖** <dependency& ...
- python_面试题_TCP的三次握手与四次挥手问题
1.相关问题 问题1: 请详细描述三次握手和四次挥手的过程,并画出状态图 问题2: 四次挥手中TIME_WAIT状态存在的目的是什么? 问题3: TCP是通过什么机制保障可靠性的? 2.问题回答 问题 ...
- js --- ffmpeg rtsp 推流,websocket通信,cnavas 渲染
首先选择正确的ffmpeg包 百度搜索ffmpeg官网,点击进入下图所示. 点击download,进入下载页面,选择window,window下面只有一个builds版本,如图红线部分圈出来的 点击b ...
- python的并发GIL 了解
gil 又称 global interpreter lock (全局解释器锁) #python 中一个线程对应于c语言中的一个线程 #gil使得同一个时刻只有一个线程在一个cpu上执行字节码,无法将 ...
- 第五周总结&实验·
本周总结 1.final声明的变量即成为常量,常量不可以修改. 2.子类能够 ...
- spring boot-8.静态资源映射
1.webjars WebJars是将客户端(浏览器)资源(javascript,Css等)打成jar包文件,以对资源进行统一依赖管理.WebJars的jar包部署在Maven中央仓库上.官网地址:h ...