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