最近在学习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配置中的一些注意事项的更多相关文章

  1. Mybatis配置中遇到的问题和问题分析

    1.为什么这么配置,这个配置主要是作用是什么,主要的是针对什么 mybatis之xml映射配置 sql语句当中 Example_Where_Clause 这个仅仅是一段sql语句吗? <trim ...

  2. 项目总结2——mybatis配置的理解

    之前的项目基本上都是用mongodb,以至于mysql相关的知识异常薄弱,这次连续一个半月的加班,总算是实际用到了mysql,也使自己对mysql了解的更多,对mybatis了解的更多,这里就说一说经 ...

  3. mybatis <sql /> 配置中 返回值 resultType 与resultMap的区别

    mybatis的objectMapper.xml中, 1) 若<sql /> 查询语句中配置的是resultType=“实体类/DTO” ,则从mybatis返回的键值对结果集(Map)会 ...

  4. 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置

    [转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...

  5. 2 将mybatis配置到springmvc中

    为了更方便的连接数据库,将mybatis配置到springMVC中 1).  首先是jar包    多了3个jar  druid 这个是阿里的数据库连接包      mybatis和 mybatis- ...

  6. nginx代理配置 配置中的静态资源配置,root 和 alias的区别。启动注意事项

    这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...

  7. 使用Mybatis时mybatis-config.xml配置中"configuration" 的内容必须匹配 (.....)解决方案

    一.简述 使用Mybatis配置mybatis-config配置文件时,经常遇到下列报错信息:org.xml.sax.SAXParseException; lineNumber: 36; column ...

  8. Mybatis系列(二):优化MyBatis配置文件中的配置和解决字段名与实体类属性名不相同的冲突

    原文链接:http://www.cnblogs.com/xdp-gacl/p/4264301.html     http://www.cnblogs.com/xdp-gacl/p/4264425.ht ...

  9. Mybatis配置映射文件中parameterType的用法小结

    原创: 在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配 ...

随机推荐

  1. Oracle数据表之间的数据同步

    保证两个数据表结构相同,如不相同只能同步相同字段; 只是思路,具体请根据需求修改. declare cursor csrn_mon is select * from table2; row_mon c ...

  2. android 播放音乐媒体文件(一)

    Audio formats and codecs Format / Codec Encoder Decoder Details Supported File Type(s) / Container F ...

  3. 1.4 Navicat Mybatis 占坑

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...

  4. electron--Tray添加图标和上下文菜单到系统通知区(系统托盘)

    const { app, Menu, Tray } = require('electron'); //系统托盘图标目录 appTray = new Tray(path.join(__dirname, ...

  5. 【DVWA】File Upload(文件上传漏洞)通关教程

    日期:2019-08-01 17:28:33 更新: 作者:Bay0net 介绍: 0x01. 漏洞介绍 在渗透测试过程中,能够快速获取服务器权限的一个办法. 如果开发者对上传的内容过滤的不严,那么就 ...

  6. Delphi中基本控件之SaveDialog控件的使用总结

    首先向Form窗体拖一个SaveDialog控件,Name属性改为:dlgSave,然后添加一个按钮,Caption属性改为:浏览,Name属性改为:btnBrowse. 然后双击浏览按钮添加如下代码 ...

  7. 项目中使token

    项目中使token 如果项目架构采用前后端分离,并采用分布式架构,通过定义接口API,与前端进行数据交互,前端通过html前行实现.若加入移动端(Andriod,ios)实现,可直接使用API接口实现 ...

  8. MySQL:添加用户、删除用户、授权、远程访问、修改密码

    1.创建用户 #test表示你要建立的用户名,后面的123456表示密码, #localhost限制在固定地址localhost登陆 CREATE USER test@localhost IDENTI ...

  9. mysql默认的存储引擎是什么?它们的区别有哪些?mysql中索引有哪些?

    1.mysql默认引擎 mysql-5.1版本之前默认引擎是MyISAM,之后是innoDB 2.关系 MyISAM是非集聚引擎,支持全文索引;不支持事务;它是表级锁;会保存表的具体行数. innoD ...

  10. tagged和untagged

    tagged和untagged遵循以下五条原则 1.   Tagged数据帧 Tagged数据帧 Untagged数据帧 Untagged数据帧   in out in out Tagged端口 原样 ...