热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Java面试】2021年3月最新面试题系列之MyBatis

1、mybatis如何实现操作数据库1、导入mybatis的依赖包2、添加日志的配置文件log4j.properties,放在srcmainresourses下3、配置sql

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、创建sqlSession4、执行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的底层运行原理

1、MyBatis应用程序根据XML配置文件创建SqlSessionFactory;
2、SqlSessionFactory在根据配置,配置来源于两个地方,一处是配置文件,一处是Java代码的注解,获取一个SqlSession;
3、SqlSession包含了执行sql所需要的所有方法,可以通过SqlSession实例直接运行映射的sql语句,完成对数据的增删改查和事务提交等;
4、用完之后关闭SqlSession

5、为什么要使用mybatis

使用mybatis之后,只需要自己提供SQL语句,其他的工作,诸如建立连接,Statement, JDBC相关异常处理等等都交给Mybatis去做了,那些重复性的工作Mybatis也给做掉了,我们只需要关注在增删改查等操作层面上,而把技术细节都封装在了我们看不见的地方。不使用:我们都用JDBC访问数据库,除了需要自己写SQL之外,还必须操作Connection(连接数据库), Statement(重要接口,连上数据库后,向数据库发送要执行的SQL语句。Statement对象), ResultSet(数据库结果集的数据表,通常通过执行查询数据库的语句生成) 这些其实只是手段的辅助类。 不仅如此,访问不同的表,还会写很多雷同的代码,工作闲的冗余。

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支持创建时间和更新时间吗&#xff1f;

mybatis-plus会自动帮我们更新创建时间和更新时间&#xff0c;但是每张表的字段名必须都得一致。就是每张表的创建时间都叫create_time ,更新时间叫update_time

2、mybatisplus分页查询如何实现&#xff1f;

在后端代码中的controller层中&#xff0c;实现一个IPage对象的实例引用&#xff0c;然后设置总记录数及每页显示条数

持续更新中。。。



推荐阅读
  • 深入解析MyBatis的高级映射技术
    在前一章节中,我们探讨了MyBatis的基本对象映射方法,其中对象属性与数据库表字段之间实现了直接的一对一映射。然而,在实际开发中,这种简单的映射方式往往难以满足复杂业务需求。本文将深入分析MyBatis的高级映射技术,介绍如何通过配置和注解实现更为灵活的对象与数据库表之间的映射关系,包括嵌套结果、联合查询和动态SQL等高级功能,以提高开发效率和代码可维护性。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文介绍了一个使用Spring框架和Quartz调度器实现每周定时调用Web服务获取数据的小项目。通过详细配置Spring XML文件,展示了如何设置定时任务以及解决可能遇到的自动注入问题。 ... [详细]
  • 微信小程序开发指南:创建动态电影选座界面
    本文详细介绍如何在微信小程序中实现一个动态且可视化的电影选座组件,提高用户体验。通过合理的布局和交互设计,使用户能够轻松选择心仪的座位。 ... [详细]
  • JavaScript 实现图片文件转Base64编码的方法
    本文详细介绍了如何使用JavaScript将用户通过文件输入控件选择的图片文件转换为Base64编码字符串,适用于Web前端开发中图片上传前的预处理。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • oracle 对硬件环境要求,Oracle 10G数据库软硬件环境的要求 ... [详细]
  • Spring 中 Bean 信息定义的三种方法探讨
    本文详细探讨了 Spring 框架中实现 Bean 信息定义的三种方法:基于 XML 配置、基于注解配置和基于 Java 类配置。每种方法都有其适用场景和优缺点。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
  • Mybatis_04日志
    前几天临近期末考试,一直在准备考试,吐槽一下,这个学期的考试真是全背书,服了,背吐了。考完试到元旦又放肆了几天 ... [详细]
author-avatar
惯性hold不住
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有