MyBatis、XML基础知识简介

导读:本篇文章讲解 MyBatis、XML基础知识简介,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

mybatis简介:
mybatis是一款非常优秀的持久层框架(半自动orm),极大减少了jdbc代码的编写,不需要我们花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。利用xml配置来管理数据库的连接。

缺点: SQL语句的编写工作量较大,尤其是字段多、关联表多时,较为繁琐

MyBatis 与 Hibernate 有哪些不同?
MyBatis 是一个半自动orm框架,需要手动编写sql语句
Hibernate 是一个全自动的orm框架 它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句

@Param:
@Param作为Dao层的注解,作用是用于传递参数,从而可以与SQL中的的字段名相对应

最近在网上看到这样一道题:
Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?
其实对于不同的 Xml 映射文件,如果配置了 namespace,那么 id 可以重复;如果没有配置 namespace,那么 id 不能重复;
原因就是 namespace+id 是作为 Map<String, MapperStatement>的 key使用的,如果没有 namespace,就剩下 id,那么,id 重复会导致数据互相覆盖。有了 namespace,自然 id 就可以重复,namespace 不同,namespace+id 自然也就不同。
在这里插入图片描述
其实有时不编写namespace 会报错,现在大多都是自动生成,一般都会自带namespace

使用 MyBatis 的 mapper 接口调用时有哪些要求?

1、Mapper 接口方法名和 mapper.xml 中定义的每个 sql 的 id 相同;

在这里插入图片描述
在这里插入图片描述

2、Mapper 接口方法的输入参数类型和 mapper.xml 中定义的每个 sql 的
parameterType 的类型相同;
3、Mapper 接口方法的输出参数类型和 mapper.xml 中定义的每个 sql 的
resultType 的类型相同;
4、Mapper.xml 文件中的 namespace 即是 mapper 接口的类路径。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/83605.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!