3-9 答案

来源:3-9 思考:高频面试题(持续更新)

随便取名

2022-07-04

常见的持久层框架有哪些?

Mybatis,Spring Data Jpa,Hibernate

什么是半自动?什么是全自动?
Mybatis属于半自动化框架,SQL语句需要用户自己去实现,它负责对SQL语句的解析,处理
Jpa和Hibernate属于全自动化框架,封装好了SQL语句,即使不懂SQL也能使用,直接调用框架提供的接口就行。

Mybatis和Hibernate有什么区别
相同点:
1.都对JDBC进行了封装
2.都是通过 SessionFactory 创建 session对象,由 session对象执行对数据库的操作语句
不同点:
1.Mybtis是半自动化,Hibernate是全自动化的
2.Mybtis需要自己写SQL语句,Hibernate不需要。可移植性Hibernate比Mybatis更高
3.Mybatis支持动态SQL,处理列表,存储过程,开发工作量相对大些;Hibernate提供了 HQL操作数据库,如果项目需要支持多种数据库,代码开发量少,但 SQL语句的优化困难
4.Mybaits入门简单,即学即用;Hibernate学习门槛相对较高

泛型和Object有什么区别?
使用Object时需要进行强制类型转换,而泛型不需要强制类型转换,编译时自动检查类型安全,避免隐形的类型转换异常。

你做过的项目中,有没有使用过泛型,怎么使用的
构建工具类时使用了泛型,能够传入多种类型对象作为参数。比如做过的一个项目,需要将实体类的值赋值给返回类,我在工具类里写了对应的方法来处理,在开发时会有多种实体类,于是我将这个方法定义为泛型方法,public static T copy(Object source, Class clazz),让它能将多种实体类作为参数。

写回答

1回答

甲蛙

2022-07-04

点赞!点赞!

0
0

Spring Boot+Vue3前后端分离,实战wiki知识库系统

一课掌握前后端最火框架,更有职场竞争力

2524 学习 · 1671 问题

查看课程