作者:mmmmGi_626 | 来源:互联网 | 2023-05-21 18:11
mybatis简介: mybatis是一款非常优秀的持久层框架(半自动orm),极大减少了jdbc代码的编写,不需要我们花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。利用xm
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的 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 接口的类路径。