java面试------MySql数据库、JDBC

MySql数据库

一、DML操作及简单查询

1、MyISAM和InnoDB的区别?

区别一:MyISAM不支持事务,InnoDB支持。
区别二:MyISAM 不支持数据行锁定,InnoDB支持。
区别三:MyISAM不支持外键约束,InnoDB支持。
区别四:MyISAM支持全文索引,InnoDB不支持。
适用场合:MyISAM 不需事务,空间小,以查询访问为主。
InnoDB 多删除、更新操作,安全性高,事务处理及并发控制。

二、高级查询、事务、视图、索引

1、MySQL的索引类型有哪些?

① 普通索引:基本的索引类型,允许在定义索引的列中插入重复值和空值。
② 唯一索引:索引列数据不重复。
③ 主键索引:主键列中的每一个值是非空、唯一的。
④ 复合索引:将多个列组合作为索引。
⑤ 全文索引:支持值的全文查找。
⑥ 空间索引:地图中经纬度的应用。

JDBC

一、JDBC的操作

1、 说下原生 jdbc 操作数据库流程?

第一步:Class.forName( )加载数据库连接驱动。
第二步:DriverManager.getConnection( )获取数据连接对象。
第三步:根据SQL语句获取会话对象,会话对象一般用PreparedStatement类型。
第四步:执行SQL处理结果集,执行SQL前如果有参数值就设置参数值
setXXX( )。
第五步:关闭结果集、关闭会话、关闭连接。

2、 为什么要使用 PreparedStatement?

① 提高了安全性,解决了sql注入问题。
② 提高了代码的可读性和可维护性。
③ 提高了SQL语句执行的性能。

二、连接池、事务、并发控制、DAO模式

1、 关系数据库中连接池的机制是什么?

前提:为数据库连接建立一个缓冲池。
① 从连接池获取或创建可用连接。
② 使用完毕之后,把连接返回给连接池。
③ 在系统关闭前,断开所有连接并释放连接占用的系统资源。
④ 能够处理无效连接,限制连接池中的连接总数不低于或者不超过某个限定值。
原理:预先创建好对象,用的时候拿来用就行,不用的时候放回去,避免每次用的时候再去创建对象,解决了耗时的问题。

2、 什么是Dao模式?

Dao模式极简介绍:封装了对单表的增删改查。

Dao模式的组成部分:实体类、Dao接口、Dao实现类、Dao实现类的父类
(BaseDao)。

3、 说说你对3层架构的理解?

表示层(H5、CSS、JSP):主要负责获得数据以及为用户展现数据。

业务逻辑层(Service):封装了多个表的增删改查操作,需要事务。
数据访问层(Dao):主要负责对数据库的直接访问。
三层之间互不影响,各执其责。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值