美文网首页Java后端
【MyBatis】解读SQL映射文件

【MyBatis】解读SQL映射文件

作者: 大数据阶梯之路 | 来源:发表于2019-02-07 23:47 被阅读7次

    MyBatis框架真正强大之处就在于SQL映射语句,mybatis专注于SQL,对开发人员来说可以极大限度地进行SQL调优,以保证性能。方便使用mybatis框架,现在就来谈谈SQL映射文件。

    <mapper>标签是根元素节点,只有一个属性namespace(命名空间),作用:

    • 用于区分不同的mapper,全局唯一。
    • 绑定DAO接口,即面向接口编程。当namespace绑定了某个接口后,可不用写该接口的实现类,mybatis会根据接口的完整限定名查找到对应的mapper配置来执行SQL语句,因此namespace的命名必须跟接口同名。

    注意:接口中的方法与映射文件中的SQL语句id应对应。如下代码中的id=“selectUserById”,则DAO接口中就有selectUserById()与之对应。

    <select id="selectUserById" resultType="xiaojiang.mybatisdemo.entity.User">
            select id,name,sex from user where id = #{id}
    </select>
    

    关于#{...}和${...}的符号作用:“#”一般是用做参数传递,而另一个一般是作为占位符。

    <resultMap>标签,用来描述数据库结果集和对象的对应关系。
    还有<select>,<delete>,<update>,<insert>标签 对应增删改查映射操作。


    parameterType属性:表示查询语句传入参数的类型的玩全限定名或别名,支持复杂数据类型。
    resultType属性:查询语句返回结果类型的完全限定名或别名。
    总结:对于一个参数的情况下,mybatis传入参数类型可以是基本类型,通过#{参数名}即可获取传入的值,若是多参数的情况下,则需要复杂数据类型来支持,包括Javabean实体类和Map类型,通过#{属性名}或#{Map的key}来获取传入的值。

    相关文章

      网友评论

        本文标题:【MyBatis】解读SQL映射文件

        本文链接:https://www.haomeiwen.com/subject/lnpssqtx.html