美文网首页
2019年Java面试题(八) 数据库和dao 2019-04-

2019年Java面试题(八) 数据库和dao 2019-04-

作者: 码记 | 来源:发表于2019-04-27 12:57 被阅读0次

    一、 数据库

    1. 说出数据连接池的工作机制是什么?

    J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

    二、 DAO

    1. dao是什么及其优点

      1 dao data access object  数据访问对象 持久化层,主要用来进行数据操作的,经常成为dao模式

      2 优点

          1 数据访问独立到了一层,分层 ,易于分工,可重用

          2 修改具体的dao层实现类,不会影响到其他层,实现松耦合

      3 dao的结构 四大组件

          1 doa接口

          2 dao实现类

          3 pojo(plain old java objecct)类

          4 dao定位( 如何获取实例  spring)

      4 常用的dao技术

      jdbc  spring的dao    以及orm(ibatis mybatis hibernate)

    2. jdbc

        1 步骤手写

          1 加载驱动 Class.forName("oralce.jdbc.driver.OracleDriver");

          2 获取数据库连接 Connection  connection=Drivermanager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","aaa","aaa");

          3 创建statement    Statement statement= connection.createStatement();

          4 执行sql          statement.executeQuery(sql);

          5 处理ResutlSet结果集---手动转成javabean

          6 关闭 ResutlSet  statement  Connection

        2 3个statement

          1 Statement 一边编译边执行

          2 PrepareStatement 预编译,效率高,安全,阻止sql攻击,支持占位符

          3 CallableStatement  调用存储过程

          PrepareStatement继承Statement,CallableStatement 继承PrepareStatement

    3. 说说spring dao 

        1 对jdbc进行了封装,提供了两大模板技术封装了jdbc步骤,数据源的实现,行映射器进行记录与对象的转换工作,

              使用daoSupport方便获取模板

        2 给模板类注入数据源,之后使用模板类的api进行数据操作

    4. orm框架  什么是orm orm比较 与jdbc比较

      1 orm  object relaction mapping 对象关系映射,解决面向对象与关系数据库不匹配的技术,对jdbc进行了封装,

                      使得我们可以使用面向对象的思维操纵数据库。使用缓存与懒加载技术提高效率

      2 常见的orm框架有ibatis mybatis hibernate

          mybatis与hibernate

          1 mybatis 半自动需要手动编写sql, 灵活控制sql,方便sql优化,代码量增加,不易移植, 也叫sql映射、不方便移植

          2 hibernate 全自动,自动生成sql, 方便移植,也叫对象映射、方便移植

          3 hibernate 与jdbc

          1 hibernate封装了jdbc,使得我们可以使用面向对象的思维操纵数据库

          2 hibernate 全自动,自动生成sql, 方便移植,也叫对象映射、方便移植

          3 jdbc效率最好

    相关文章

      网友评论

          本文标题:2019年Java面试题(八) 数据库和dao 2019-04-

          本文链接:https://www.haomeiwen.com/subject/ldtknqtx.html