MyBatis的强大,主要原于它强大映射功能,相对其它的jdbc,使用MyBatis,你会发现省掉很多代码。上一篇已经简单做出一个实例。今天就了解一下MyBatis的映射xml文件。

了解上一篇friendMapper.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--POJO的mapper接口如FriendMapper的类路径-->
<mapper namespace="com.yiming.mapper.FriendMapper"><!--insert映射插入语句,id 唯一的标识符,必须与FriendMapper定义接口方法中相同parameterType 参数类型,参数类的完全限定名或别名--><insert id="inertFriend" parameterType="friend">insert into friend(id,friendName, sex) values(#{id},#{friendName}, #{sex})</insert><!--delete映射删除语句id 唯一的标识符,必须与FriendMapper定义接口方法中相同parameterType 参数类型,参数类的完全限定名或别名--><delete id="deleteFriend" parameterType="long">delete from friend where id= #{id}</delete><!--update映射更新语句id 唯一的标识符,必须与FriendMapper定义接口方法中相同parameterType 参数类型,参数类的完全限定名或别名--><update id="updateFriend" parameterType="friend">update friend set friendName = #{friendName}, sex = #{sex} where id= #{id}</update><!--select映射查询语句id  唯一的标识符,必须与FriendMapper定义接口方法中相同parameterType 参数类型,参数类的完全限定名或别名resultType 返回值类型,类的完全限定名或别名。注意如果是集合情形,那应该是集合可以包含的类型,而不能是集合本身。使用 resultType 或 resultMap,但不能同时使用。--><select id="getFriend" parameterType="long" resultType="friend">select id,friendName, sex from friend where id = #{id}</select><select id="getAllFrined" parameterType="string" resultType="friend">select id, friendName, sex from friendwhere friendName like concat('%', #{friendName}, '%')</select>
</mapper>

引入friendMapper.xml映射文件方式

在说引入方式前,先要知道引入映射文件的位置,是mybatis-config.xml文件中:
 <!--映射文件--><mappers><mapper resource="com/yiming/mapper/friendMapper.xml"/></mappers>

1、文件路径引入映射文件

   <mappers><mapper resource="com/yiming/mapper/friendMapper.xml"/></mappers>

2、类注册方式引入
    <mappers><mapper class="com.yiming.mapper.FriendMapper"/></mappers>  

3、使用完全限定资源定位url引入
   <mappers><mapper url="file:///var/com/yiming/mapper/friendMapper.xml"/></mappers> 

4、批量引入,也叫包名引入
    <mappers><package name="com.yiming.mapper"/></mappers>    

 

转载于:https://www.cnblogs.com/herojy886/p/9175461.html

MyBatis学习总结(三)---映射文件及引入方式相关推荐

  1. Mybatis学习--Mapper.xml映射文件

    简介 Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 映射文件中有很多属性,常用的就是parameterType(输入类型 ...

  2. mybatis学习(3):映射文件的配置和接口创建

    配置文件 db.properties jdbc.driver=com.oracle.jdbc.OracleDriver jdbc.url=jdbc:oracle:thin:@127.0.0.1:152 ...

  3. ssm上传文件进度条_ssm学习笔记-三种文件上传方式

    首先需要引入commons-fileupload commons-fileupload commons-fileupload 1.3.3 MultipartFile方式 示例代码: @RequestM ...

  4. MyBatis 源码分析 - 映射文件解析过程

    1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件的解析过程.由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因.所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来, ...

  5. MyBatis全局配置文件和映射文件

    Mybatis文件的全局配置和映射文件: 配置文件 MyBatis 的配置文件包含了影响 MyBatis 行为的设置(settings)和属性(properties)信息. 配置文件结构 123456 ...

  6. geopandas学习(三) 文件IO

    geopandas学习(三) 文件IO 文章参考:参考 1.矢量文件的读入 geopandas将fiona作为操纵矢量数据读写功能的后端. 使用geopandas.read_file()读取对应类型文 ...

  7. Objective-C:三种文件导入的方式以及atomic和nonatomic的区别

    一.三种文件导入的方式比较:   类的前项声明@class.import.include: 1.采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义 ...

  8. Mybatis(三) 映射文件详解

    前面说了全局配置文件中内容的详解,大家应该清楚了,现在来说说这映射文件,这章就对输入映射.输出映射.动态sql这几个知识点进行说明,其中高级映射(一对一,一对多,多对多映射)在下一章进行说明. 一.输 ...

  9. Mybatis(二)映射文件

    Mybatis映射文件 Mapper映射文件是Java实体类与数据库对象之间的桥梁,使用过程中一个Mapper文件对应一个数据库操作Dao接口 一.文件的约束 加载映射文件 <?xml vers ...

  10. Mybatis中接口与映射文件一定要同名且放在同一个包下?

    前言: 相信很多接触Mybatis一段时间的开发者,依旧对这个问题可能还存在疑惑,最近很多读者向我提到过,我觉得还是很有必要写篇文章来抒发一番,毕竟我骚啊. 首先,大部分人是认为接口与映射文件一定要同 ...

最新文章

  1. python四大软件-Python未来可能面临的四大转折
  2. ext.js组件的基本操作
  3. Redis中使用Lua语言
  4. 全方面的了解超宽带信号高速采集记录回放系统
  5. python创建透明窗体_python – PyQt5:使用不透明的子项创建半透明窗口
  6. linux lddbus设备,Linux设备驱动程序学习(14)-Linux设备模型(各环节的整合)
  7. I00033 消除游戏
  8. 书柜的尺寸(bzoj 1933)
  9. Codeforces 505 A Mr. Kitayuta's Gift【暴力】
  10. KVM详解,太详细太深入了,经典
  11. 洛谷分支结构题单前一半 深基例2到例9 P5710 数的性质 P5711 闰年判断 P5712 Apples P5713 洛谷团队系统 P5714 肥胖问题 P5715 三位数排序 P5716月份天数
  12. 腾讯视频显示网络连接服务器失败,腾讯视频网络连接异常
  13. 【Cloudaily】3.15五招教你辨别真假云计算,2017 Gartner数据科学魔力象限出炉
  14. SpringBoot的属性注入详解
  15. 图像运动模糊及其去除
  16. c语言用字符方式拚一个时钟,2012年3月份全国计算机等级考试二级c语言题库(机试) (1)...
  17. IPTVOTT,未来谁更香——关于新媒股份的一点思考
  18. mac蓝牙鼠标总是自己断开_解决 mac 蓝牙鼠标、键盘经常总是 断开连接的问题
  19. 随手记——echarts图表
  20. 4年外包终上岸,我只能说这类公司能不去就不去

热门文章

  1. DataGrid相邻行有相同内容时对指定列合并和C#可以实现DLL库的动态调用
  2. 日常的SQL 语句使用
  3. Mac唤醒后无声的一种解决方法
  4. eclipse运行java程序出现多个问题:内部错误IOConsole Updater
  5. 1000多页的pdf算法题整理完成,字节算法面试手册来了
  6. 菜鸟数据中台技术演进之路
  7. 逃离北京?作为程序员的我在工作两个月的今天,露宿街头
  8. 深入研究:HTTP2的真正性能到底如何
  9. Nginx 为什么快到停不下来?
  10. 国庆假期程序员是这样给自己粉饰无限的逼格!