与MyBatis相比,MyBatis-Plus的主要区别包括:更简便的CRUD操作、自动代码生成器、乐观锁和悲观锁的支持以及更好的性能等。这些只是MyBatis-Plus的一些常见面试题,实际上在面试中还可能涉及到其他更深入的问题。对于开发者来说,了解MyBatis-Plus的工作原理、特性和最佳实践是非常重要的。同时,也需要关注社区动态和最新...
MyBatis Plus 如何实现简单的 CRUD(增删改查)操作?答:MyBatis Plus 提供了BaseMapper接口,通过继承该接口,即可获得一些默认的 CRUD 方法,如insert、updateById、deleteById、selectById等。 MyBatis Plus 是如何处理查询结果和实体类之间的映射关系的?答:MyBatis Plus 会根据数据库表和实体类的字段进行自动映射。如果...
报错信息就是:Transaction rolled back because it has been marked as rollback-only,很好理解:事务被回滚了,因为它已经被标记了只能回滚。 我一看巧了,这不就是我之前分析过的面试题吗! 之前的文章我解释过:这种错一般发生在嵌套事务中,即内层事务出错,但是由于是否提交事务的操作由外层事务触发,于是乎内层事务只...
通过在入口类 MybatisSqlSessionFactoryBuilder#build方法中, 在应用启动时, 将mybatis plus(简称MP)自定义的动态配置xml文件注入到Mybatis中。 public class MybatisSqlSessionFactoryBuilder extends SqlSessionFactoryBuilder {public SqlSessionFactory build(Configuration configuration) {// ... 省略若干行if (globalConf...
1. **初始化 MybatisConfiguration**:在 MybatisConfiguration 类中,MP 初始化了自身的 MybatisMapperRegistry,用于注册 MP 的自定义 SQL 方法。2. **重写方法实现**:MybatisConfiguration 中的多个方法被重写,实现了注册 MP 动态脚本的功能。3. **替换 MybatisMapperRegistry**:MP 将 Mybatis ...
首先,它封装了太多东西,很多小伙伴会习惯性依赖其基础查询,导致很多数据逻辑写到了 service 层甚至 controller 层,代码层次容易混乱,阅读性很差。其次,这还会带来性能问题。MyBatis Plus 查询默认是全字段,不可能每个字段都用得上,遇到大字段还会影响网络 IO,并发一上来,性能肯定受影响。
通过在入口类 MybatisSqlSessionFactoryBuilder#build方法中, 在应用启动时, 将mybatis plus(简称MP)自定义的动态配置xml文件注入到Mybatis中。 public class MybatisSqlSessionFactoryBuilder extends SqlSessionFactoryBuilder {public SqlSessionFactory build(Configuration configuration) {// ... 省略若干行if (globalConf...
通过在入口类 MybatisSqlSessionFactoryBuilder#build方法中, 在应用启动时, 将mybatis plus(简称MP)自定义的动态配置xml文件注入到Mybatis中。 public class MybatisSqlSessionFactoryBuilder extends SqlSessionFactoryBuilder { public SqlSessionFactory build(Configuration configuration) { ...
👨💻面试官:你说Mybatis执行插入语句后可以返回主键ID吗??如果能的话,能否实现一下。 🙋我:当然是可以的,连JDBC都能做到的事情,Mybatis也能做到的。 开始敲代码… 1.1、Mysql数据库设置ID自增情况 代码语言:javascript 复制 <insert id="insertUser" parameterType="com.crush.mybatisplus.entity.Us...
3.5 使用缓存过程 3.6 验证一级缓存 四、面试题 五、Spring Boot整合mybatis 5.1 需要的依赖 5.2 数据库配置 5.3 编写department类 5.4 mapper类 5.5 Controller测试 5.5 总结 一、JDBC存在的问题 1.1 JDBC存在的问题 硬编码问题:数据库的驱动名、数据库的URL、数据库的用户名、数据的密码等存在硬编码 ...