Java面试宝典每日3题:day27

Posted 闲言_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试宝典每日3题:day27相关的知识,希望对你有一定的参考价值。

1.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?

  1.数据库 创建连接、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可以解决此问题。
  解决:在mybatis配置中配置数据库连接池, 使用连接池管理数据库连接。
  2.SQL语句 在代码中不易维护,实际应用SQL变化可能较大,SQL变动需要改变Java代码。
  解决: 将SQL语句写在XXXMapper.xml文件中与Java代码分离。
  3.向SQL语句 传参麻烦,因为SQL语句的where语句不一定,可能多也可能少,占位符要和参数一一对应。
  解决:Mybatis 自动将Java对象映射至SQL语句。
  4.对 结果集解析麻烦,SQL变化导致解析代码变化,且解析前需要遍历,如果将数据库记录 封装成对应的pojo对象解析比较方便
  解决Mybatis自动将解析结果映射至Java对象。

2.MyBatis编程步骤是什么样的?

  1. 创建SqlSessionFactory
  2.通过SqlSessionFactory 创建SqlSession
  3.通过SqlSession 执行数据库操作
  4.调用SqlSession 提交事务
  5.调用SqlSession 关闭会话

3.什么是预编译?

  SQL预编译指的是数据库驱动在发送SQL语句和参数给DBMS 之前对SQL语句进行编译,这样DBMS在执行SQL语句时,就不需要重新编译。

以上是关于Java面试宝典每日3题:day27的主要内容,如果未能解决你的问题,请参考以下文章

Java面试宝典每日3题:day22

Java面试宝典每日3题:day31

Java面试宝典每日3题:day18

Java面试宝典每日3题:day24

Java面试宝典每日3题:day17

Java面试宝典每日3题:day21