博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis常见问题
阅读量:5275 次
发布时间:2019-06-14

本文共 652 字,大约阅读时间需要 2 分钟。

1.#和$的区别和联系

1.1#是占位符,会对Sql进行预编译,相当于?;$是做Sql拼接,有sql注入的隐患

1.2#不需要关注数据类型,Mybatis自动实现类型转换,$必须自己判断数据类型联系

两者都支持通过@Param注解,指定参数名称,来获取参数值。

 

2.谈谈你对Mybatis的理解?

对于这个问题,官方这样介绍:是支持定制化Sql,存储过程以及高级映射的优秀的持久层框架。Mybatis避免了几乎所有的JDBC代码和手工设置参数以及抽取结果集。Mybatis使用简单的XML或注解来配置和映射基本体,将接口和java的pojos映射成数据库中的记录。

Mybatis的优点:

2.1.简单易学

2.2.灵活

2.3.解除Sql和程序代码的耦合

2.4.提供映射标签,支持对象与数据库的orm字段关系映射

2.5.提供对象关系映射标签,支持对象关系组建维护

2.6.提供xml标签,支持编写动态sql

 

3.Mybatis缓存

一级缓存:Mybatis的一级缓存的作用域是session,当openSession( )后,如果执行相同的Sql(相同语句参数),Mybatis不进行执行sql,而是从缓存中命中返回。

二级缓存:Mybatis的二级缓存的作用域是一个mapper的namespace,同一个namespace中查询sql可以从缓存中命中。二级缓存是可以跨session的。

转载于:https://www.cnblogs.com/lichangyun/p/9583976.html

你可能感兴趣的文章
【C语言】09-字符串
查看>>
JS - Class继承
查看>>
sql数据库基础知识整理,常用函数及常用语法
查看>>
FLASH STUDY LOG
查看>>
who are you really?
查看>>
密码6-12位数字和字母组成
查看>>
js函数中的参数的个数
查看>>
pycharm 修改新建文件时的头部模板
查看>>
c字符串函数实现(1)---strncpy
查看>>
一个能描述erp系统的小故事。
查看>>
Luogu P1091 合唱队形
查看>>
让思考成为一种习惯:一位软件工程专业学生的大学生涯规划
查看>>
java AES加密算法
查看>>
C语言 二维数组复制、清零及打印显示
查看>>
Spring MVC Checkbox And Checkboxes Example
查看>>
素数 乘法表 闰年
查看>>
Python列表操作大全(非常全)
查看>>
【PHP】函数的引用返回
查看>>
Some functions worth remembered in C Library (Updating)
查看>>
输入三个字符,从小到大的顺序输出这三个字符
查看>>