Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

一线互联网Java面试题 PDF 下载


分享到:
时间:2021-08-17 09:59来源:http://www.java1234.com 作者:转载  侵权举报
一线互联网Java面试题 PDF 下载
失效链接处理
一线互联网Java面试题  PDF 下载


本站整理下载:
提取码:uvi0 
 
 
相关截图:
 
主要内容:

5、MyBatis 与Hibernate 有哪些不同?
 
1、Mybatis 和 hibernate 不同,它不完全是一个 ORM 框架,因为 MyBatis 需要程序员自己编写 Sql 语句。
 
2、Mybatis 直接编写原生态 sql, 可以严格控制 sql 执行性能, 灵活度高, 非常适合对关系数据模型要求不高的软件开发, 因为这类软件需求变化频繁, 一但需求变化要求迅速输出成果。但是灵活的前提是 mybatis 无法做到数据库无关性, 如果需要实现支持多种数据库的软件,则需要自定义多套 sql 映射文件,工作量大。
 
3、Hibernate 对象/关系映射能力强, 数据库无关性好, 对于关系模型要求高的软件, 如果用 hibernate 开发可以节省很多代码, 提高效率。
 
6、#{}和${}的区别是什么?
 
#{}是预编译处理, ${}是字符串替换。
 
Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的set 方法来赋值;
 
Mybatis 在处理${}时, 就是把${}替换成变量的值。使用#{}可以有效的防止 SQL 注入, 提高系统安全性。
7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
 
第 1 种: 通过在查询的 sql 语句中定义字段名的别名, 让字段名的别名和实体类的属性名一致。
 
 
 
 
 
第 2 种: 通过<resultMap>来映射字段名和实体类属性名的一一对应的关系。

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐