首页 > 编程知识 正文

java io面试题(java线程池面试题)

时间:2023-05-05 10:05:24 阅读:103326 作者:10

1.1的编程步骤有哪些。我的巴蒂斯?

创建SqlSessionFactory

通过SqlSession工厂创建SQL session

通过sqlsession执行数据库操作

调用session.commit()提交事务。

调用session.close()关闭会话。

2.在2。Xml映射文件,除了常见的select|insert|updae|delete标签,还有哪些标签?

、加上动态sql的九个标记,trim | where | set | foreach | if | choose | when | other | bind等。

3.# {}和$ {}有什么区别?

# {}是预编译处理,$ {}是字符串替换。

当Mybatis处理# {}时,会用数字替换sql中的# {},并调用PreparedStatement的set方法赋值;

当Mybatis处理$ {}时,它只是用变量值替换$ {}。

使用# {}可以有效防范SQL注入,提高系统安全性。

4.4。Mybatis执行分页?分页插件的原理是什么?

Mybatis使用RowBounds对象进行分页,这是对结果集结果集的内存分页,而不是物理分页。带有物理分页的参数可以直接用sql编写完成物理分页功能,也可以使用分页插件完成物理分页。

分页插件的基本原理是利用Mybatis提供的插件接口实现自定义插件,在插件的拦截方法中拦截要执行的sql,然后重写sql,并根据Dial的方言添加相应的物理分页语句和物理分页参数。

5.Mybatis缓存机制

MyBatis有两级缓存。

第一级缓存是SqlSession级缓存,其作用域是相同的SqlSession,相同的Sql语句在相同的sqlSession中执行。第一次执行后,结果集将被写入缓存,第二次从缓存中获取数据。

二级缓存是映射器级缓存,其范围与映射器的命名空间相同。不同的sqlsession在相同的命名空间中执行相同的sql语句。第一次查询的结果缓存在缓存中,第二次可以从缓存中获取数据。

默认情况下,Mybatis会打开一级缓存,但不会打开二级缓存。二级缓存需要手动配置,并在xml配置中打开。

6.6之间的比较。Mybatis和Hibernate

1.MyBatis可以执行更详细的SQL优化并减少查询字段。

2.MyBatis容易掌握,而Hibernate门槛更高。

3.Hibernate功能强大,数据库独立性好,O/R映射能力强,代码需求少,开发速度快。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。