框架
一共40篇文章
专题:第8期
-
Spring Cloud 的核心特性有哪些
参考答案 Spring Cloud 的核心特性: 分布式/版本化配置。 服务注册和发现。 路由。 服务和服务之间的调用。 负载均衡。 断路器。 分布式消息传递。 以上,是Spring Cloud面试题【Spring Cloud 的核心特性有哪些】的参考答案。 输出,是最好的学习方法。 欢迎在评论区留下你的问题、笔记或知识点补充~ ---end---...- 宝妹儿
- 198
- 0
-
Mybatis 的一级缓存、二级缓存是什么,以及工作模式
参考答案 1. 一级缓存的概念、工作模式 1.1 一级缓存的概念 基于 PerpetualCache 的 HashMap 本地缓存。 其存储作用域为 Session,当 Session flush 或 close 之后,该 Session 中的所有 Cache 就将清空,默认打开一级缓存。 1.2 一级缓存的工作模式 Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,…...- 宝妹儿
- 27
- 0
-
IBatis 和 MyBatis,在核心处理类分别叫什么
参考答案 IBatis里面的核心处理类交SqlMapClient。 MyBatis里面的核心处理类叫做SqlSession。 以上,是Java面试题【IBatis和MyBatis在核心处理类分别叫什么】的参考答案。 输出,是最好的学习方法。 欢迎在评论区留下你的问题、笔记或知识点补充~ ---end---...- 宝妹儿
- 76
- 0
-
Mybatis 相比 IBatis,比较大的几个改进是什么
参考答案 1. 有接口绑定,包括注解绑定sql和xml绑定Sql。 2. 动态sql由原来的节点配置变成OGNL表达式。 3. 在一对一、一对多的时候,引入了association。 4. 在一对多的时候,引入了collection 节点。 但是,都是在resultMap里面配置。 以上,是Java面试题【Mybatis比IBatis比较大的几个改进是什么】的参考答案。 输出,是最好的学习…...- 宝妹儿
- 11
- 0
-
MyBatis 实现一对多有几种方式,具体怎么操作
参考答案 MyBatis实现一对多有两种方式: 联合查询 嵌套查询 MyBatis实现一对多的操作: 联合查询是几个表联合查询,只查询一次,通过在resultMap里面配置collection节点配置一对多的类就可以完成。 嵌套查询是先查一个表,根据这个表里面的结果的外键id,去再另外一个表里面查询数据,也是通过配置collection,但另外一个表的查询通过select节点配置。 …...- 宝妹儿
- 17
- 0
-
为什么说Mybatis是半自动ORM映射工具,它与全自动的区别在哪里
参考答案 Hibernate属于全自动ORM映射工具。 使用Hibernate查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。 而Mybatis在查询关联对象或关联集合对象时,需要手动编写sql来完成,所以,称之为半自动ORM映射工具。 Mybatis与全自动的区别在于: association是一对一关联查询; collection是一对多关联查询。 …...- 宝妹儿
- 96
- 0
-
MyBatis 编程步骤是什么样的
参考答案 MyBatis编程步骤: 1. 创建SqlSessionFactory; 2. 通过SqlSessionFactory创建SqlSession; 3. 通过sqlsession执行数据库操作; 4. 调用session.commit()提交事务; 5. 调用session.close()关闭会话。 以上,是Java面试题【MyBatis编程步骤是什么样的】的参考答案。 输出,是最…...- 宝妹儿
- 55
- 0
-
JDBC 编程有哪些不足之处,MyBatis 是如何解决这些问题的
参考答案 JDBC编程的不足之处,以及MyBatis解决JDBC不足之处的方式: 1. 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。 解决:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接。 2. Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。 解决:将Sql语句配置…...- 宝妹儿
- 76
- 0
-
Mybatis 支持延迟加载吗,实现原理是什么
参考答案 Mybatis支持延迟加载。 但是,Mybatis仅支持association关联对象和collection关联集合对象的延迟加载。association指的就是一对一,collection指的就是一对多查询。 在Mybatis配置文件中,可以配置是否启用延迟加载lazyLoadingEnabled=true|false。 延迟加载的基本原理: 使用CGLIB创建目标对象的代理对象。 当…...- 宝妹儿
- 71
- 0
-
Mybatis 是如何将 sql 执行结果封装为目标对象并返回的,都有哪些映射形式
参考答案 第一种是使用标签,逐一定义列名和对象属性名之间的映射关系。 第二种是使用sql列的别名功能,将列别名书写为对象属性名,例如T_NAME AS NAME,对象属性名一般是name,小写。 但是列名不区分大小写,Mybatis会忽略列名大小写,智能找到与之对应对象属性名,可以写成T_NAME AS NaMe,Mybatis一样可以正常工作。 有了列名与属性名的映射关系后,Mybatis通过反…...- 宝妹儿
- 55
- 0
-
Mybatis 动态 sql 是做什么的,都有哪些动态 sql,简述下动态 sql 的执行原理
参考答案 1. Mybatis动态sql的作用 Mybatis动态sql可以让我们在Xml映射文件内,以标签的形式编写动态sql,完成逻辑判断和动态拼接sql的功能。 2. Mybatis动态sql的类型 Mybatis提供了9种动态sql标签 trim where set foreach if choose when otherwise bind 3. Mybatis动态sql的执行原理 使用O…...- 宝妹儿
- 52
- 0
-
简述 Mybatis 的插件运行原理,以及如何编写一个插件
参考答案 Mybatis仅可编写、针对下面4种接口的插件: ParameterHandler ResultSetHandler StatementHandler Executor Mybatis使用JDK的动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能。 每当执行这4种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke()方法。 当然,只会拦…...- 宝妹儿
- 17
- 0