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

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 friend
        where 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

时间: 2024-10-28 16:00:39

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

mybatis学习------打包xml映射文件

编译mybatis时,idea不会将mybatis的xml映射文件一起打包进jar,即在编译好的jar包里缺少mybatis映射文件,导致网站加载失败 为解决这个问题,可在mybatis对应module的pom.xml中,找到<build></build>,,在其中添加如下代码即可. <!--将mybatis的xml映射文件一起进行打包--> <resources> <resource> <directory>src/main/jav

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

JAVA%E5%A4%9A%E7%BA%BF%E7%A8%8B%E7%BC%96%E7%A8%8B%E2%80%94%E2%80%94JAVA%E5%86%85%E5%AD%98%E6%A8%A1%E5%9E%8B [email protected]?????? http://auto.315che.com/baowobx7/qa23474433.htm?9n http://auto.315che.com/weizhi/qa23935473.htm?x7 http://auto.315che.c

MyBatis学习总结(三)——优化MyBatis配置文件中的配置(转载)

孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(三)--优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org

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

[转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//E

MyBatis学习 之 三、动态SQL语句

有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息.使用Oracle的序列.mysql的函数生成Id.这时我们可以使用动态sql. 下文均采用mysql语法和函数(例如字符串链接函数CONCAT). 3.1 selectKey 标签 在insert语句中,在Oracle经常使用序列.在MySQL中使用函数来自动生成插入表的主键,而且需要方法能返回这个生成主键.使用myBatis的s

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

一.三种文件导入的方式比较: 类的前项声明@class.import.include: 1.采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义的,后面会告你,现在你就可以直接使用它,节约程序编译时间: 2.采用import方式,能避免重复导入同一类,它导入的不但这个类的所有的内容,而且使用它之前,编译器必须先对类的所有内容走一遍,就是先做预编译处理,这样比较耗费程序编译的时间. 3.采用include方式,不能避免重复导入的问题,但是它用在C

Objective-C:三种文件导入的方式比较

三种文件导入的方式比较: 类的前项声明@class.import.include: 1.采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义的,后面会告诉你,现在你就可以直接使用它,节约程序编译时间: 2.采用import方式,能避免重复导入同一类,它导入的不但这个类的所有的内容,而且使用它之前,编译器必须先对类的所有内容走一遍,就是先做预编译处理,这样比较耗费程序编译的时间. 3.采用include方式,不能避免重复导入的问题,但是它用在C/

VUE中常用的几种import(模块、文件)引入方式

VUE中常用的几种import(模块.文件)引入方式:https://blog.csdn.net/weixin_38930535/article/details/80177445 1.引入js文件 在用的那一页,引入文件 相应的js文件里面,必须是暴露出来的 2.引入组件 3.引入外部组件 4.引入外部js插件 原文地址:https://www.cnblogs.com/bydzhangxiaowei/p/12237156.html

MyBatis学习(三)-XML映射文件(上)

XML映射文件即Mapper XML 有下列几个顶级元素: cache - 给定命名空间的缓存配置 cache-ref - 缓存配置的引用 resultMap - 描述结果集,是最强大也是最复杂的元素(没有之一) sql - 可复用的语句块 insert update delete select(从前往后说,本次是cache.cache-ref) MyBatis缓存机制 # 一级缓存(默认开启,SqlSession级别的缓存) 我们通过MyBatis每连接一次数据库就会创建一个SqlSessio