2020-MyBatis面试题
MyBatis基本概念
MyBatis 是一款由 Java 编写的持久层框架,它支持定制化 SQL、存储过程以及高级映射,并且封装了 JDBC 操作的很多细节,使开发者只需要关注 SQL 语句本身,不再去管注册驱动,创建连接等过程。
MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录,它使用了ORM思想实现了结果集的封装。
ORM(Object Relational Mapping,对象关系映射),将数据库表和实体类以及实体类的属性对应起来,让我们通过操作实体类就实现操作数据库表,使用过程中需要做到实体类中的数据库表的字段名称保持一致。
Mybaits的优点
1、基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理;提供XML标签,支持编写动态SQL语句,并可重用。
2、与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手动开关连接;
3、很好的与各种数据库兼容(因为MyBatis使用JDBC来连接数据库,所以只要JDBC支持的数据库MyBatis都支持)。
4、能够与Spring很好的集成;
5、提供映射标签,支持对象与数据库的ORM字段关系映射;提供对象关系映射标签,支持对象关系组件维护。
MyBatis框架的缺点
1、SQL语句的编写工作量较大,尤其当字段多、关联表多时,对开发人员编写SQL语句的功底有一定要求。
2、SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。
搭建mybatis开发环境的步骤
1、下载mybatis的jar包并导入工程
2、编写mybatis的核心配置文件—工程名-mybatis-config.xml
3、创建实体类POJO
4、Dao文件夹下创建 实体类的mapper.java接口和配置实体类的mapper.xml文件
5、创建测试类,看有没有问题
Mybatis在核心处理类叫什么
Mybatis在核心处理类叫什么:SqlSession
Mybatis配置一对多
<collection property="topic