【Java面试】2022年10月最新面试题系列 之 MyBatis
1、mybatis如何实现操作数据库
1、导入mybatis的依赖包 2、添加日志的配置文件log4j.properties,放在src/main/resourses下 3、配置sqlmapconfig.xml文件 1、添加约束信息 2、数据库连接信息、数据库连接池 3、加载mapper.xml配置文件 4、配置mapper.xml文件 5、定义实体类对象 6、测试 1、加载核心配置文件 2、创建sqlSessionFactory对象 3、创建sqlSession 4、执行sql语句,传递参数、获取结果 5、关闭sqlSession
2、mybatis#和$的区别
1、#使用的是?的形式,在sql语句中做占位符使用;$不使用占位符,是字符串的连接; 2、#使用的是 PreparedStatement 执行sql,效率较高;$使用的是 Statement 执行sql,效率较低; 3、#能够防止sql注入,$不能防止sql注入
3、mybatis如何实现分页
使用limit关键字,limit 5,10;代表检索第6-15行数据
4、mybatis的底层运行原理
5、为什么要使用mybatis
6、mybatis中的SQL语句用到的标签有哪些?
1、where…if… 标签 :用于管理where的语句 a) 如果没有条件, 不会生成 where 关键字 b) 如果有条件, 会自动添加 where 关键字 c) 如果第一个条件中有 and, 自动去除之 2、choose…when…otherwise… 标签 :类似switch语句 3、script 标签 :要在带注解的映射器接口类中使用动态sql,可以使用script 4、bind 标签 :对传出来的语句进行再加工 5、foreach 标签 :拼接参数,用于in语句中 6、include 标签 :可引用部分sql语句,便于调用
7、mybatis怎么进行数值的校验
方法1、创建自定义注解,然后再写一个Mybatis拦截器,拦截 查询相关方法,如果发现 输入参数有自定义注解,并且参数为Null,则直接返回空; 方法2、在Service层 对参数做判断,如果参数为空,直接返回,不需要调用DAO层查询
8、如何开启mybatis二级缓存
方式1、在mapper接口上添加@CacheNamespace注解; 方式2、在mapper.xml文件中添加<cache /> 添加<cache />标签后, 默认整个mapper中的select方法都会被缓存
A、MybatisPLUS
1、mybatisplus支持创建时间和更新时间吗?
mybatis-plus会自动帮我们更新创建时间和更新时间,但是每张表的字段名必须都得一致。就是每张表的创建时间都叫create_time ,更新时间叫update_time
2、mybatisplus分页查询如何实现?
在后端代码中的controller层中,实现一个IPage对象的实例引用,然后设置总记录数及每页显示条数
持续更新中。。。
上一篇:
Java基础知识总结(2021版)
下一篇:
VLAN概念的面试题及解答_路由交换