网站首页 > 技术文章 正文
第一章
Oracle基本概念?
1、 数据库
2、 全局数据库名
3、 数据库实例
4、 表空间
5、 数据文件
6、 控制文件
7、 日志文件
8、 模是和模式对象
9、 数据字典
Oracle的数据类型?
1、 字符数据类型(char数据类型 var char数据类型 nchar数据类型)
2、 数值数据类型(number)
3、 日期时间数据类型(date数据类型 timestamp数据类型 )
4、 LOB数据类型(即"大对象"数据类型 CLOB BLOB BFILE NCLOB )
SQL语言有哪些?
1、 数据定义语言DDL(create创建 alter修改 truncate截断 drop删除)
2、 数据操纵语言DML(insert插入 select查询 delete删除 update更新)
3、 事务控制语言TCL(commit提交 savepoint保存点 rollback回滚)
4、 数据控制语言DCL(grant授予 revoke回收)
SQL操作符有哪些?
1、 算数操作符(+ - * /)
2、 比较操作符(= != < > <= >= betweent and IN LIKE ISNULL)
3、 逻辑操作符(AND与、OR或、NOT非)
4、 集合操作符(UNION联合、UNION ALL联合所有、INTERSECT交集、MINUS交集)
SQL函数有哪些?
单行函数 聚合函数 分析函数
1、 单行函数包括数字函数、日期函数、字符函数、转换函数、其他函数 转换函数。---(to_char()转换成字符串类型、to_date()转换成日期类型、to_numbers()转换成数值类型)其他函数如下:
(NVL(exp1,exp2) 如果第一个值为空,则返回第二个值否则返回第一个值)
(NVL(exp1,exp2,exp3)如果第一个值为空,则返回第三个值,否则返回第二个值)
(DECODE values,if1,then1,if2,then2…,else 如果value1值为1,则返回then1…)
2、 聚合函数avg、min、max、sum、count、
3、 分析函数(row_number、dense_rank、rank)
什么是Oracle的伪列?
1、 Oracle中的伪列就像一个表列,但是它并没有存储在表中
2、 伪列可以从表中查询,但不能插入、删除、更新数据
常用的伪列有哪些?
ROWID:是表中行的储存地址,该地址可以唯一标注数据库中的一行,可以使用rowid伪列快速定义表中的一行
ROWNUM:是查询返回结果集中行的序号,可以用它来限制查询返回的行数。
第二章
什么式表空间?
表空间是数据库逻辑结构的重要组件。表空间可以存放各种应用对象,如表、索引。每个表空间由一个或者多个数据文件组成
表空间的分类?
永久性表空间临时性表空间
撤销性表空间
什么是序列?
序列是用来创建生成唯一、连续的整数的数据库对象。序列通常用量自动生成主键或者唯一键的值,序列可按升序排列。
Oracle如何实现与用户管理?
系统自带的三个用户 授权 grant
1、 Sys用户 :超级用户
2、 System :系统管理员
3、 Scott :示范用户 普通用户
Oracle有几种同义词?区别是什么?
1、 私有同义词
2、 公有同义词
区别:私有同义词只能在当前模式下访问,且不能与当前模式的对象同名。
公有同义词可被所有的数据库用户访问。
同义词的用途?
1、 简化SQL语句
2、 隐藏对象的所有者和名称
3、 为分布式数据库的远程连接对象提供了位置透明性
4、 提供对对象的公共访问
什么是索引?
索引是与表关联的可选结构,是一种快速访问数据的方式。
索引的分类?
物理分类:
1、 分区或非分区索引
2、 B树索引
3、 正常或反向键索引
4、 位图索引
逻辑分类:
1、 单列或组合索引
2、 唯一或非唯一索引
3、 基于函数索引
什么是标的区?
Oracle允许用户把一个表的所有行分为几个部分,并把这些数据分别储蓄在不同的位置,被分区的表称为分区表,分区的每个部分称为一个分区。
简述Oracle数据库中分区表的作用?
1、改善表的查询性能
2、表更容易管理
3、便于备份和恢复
4、提高数据的安全性
第三章
简述类和表的映射关系?
首先在业务实体类中创建持久化类,之后创建相应的类映射文件:类名.hbm.xml 通过class和id标签 定义和数据库表的映射关系
使用hibernate增加记录的步骤有哪些?
1、 读取并解析配置文件及映射文件(Configuration conf=new Configuration().configure())
2、 依据配置文件和映射文件中的信息创建SessionFactory对象(SessionFactory sf=conf.buildSessionFactory())
3、 打开Session(Session session=sf.getCurrentSession();)
4、 开启一个事务(Transaction tx=session.beginTransaction())
5、 数据库操作(session.save(user)//保存操作)
6、 结束事务(tx.commit//提交事务)
7、 关闭session(sesson.close();)
Hibernate中java有几种状态
1、 瞬时状态
2、 持久状态
3、 游离状态
第四章
HQL是面向对象的查询语句 是对SQL的封装
使用占位符:
1、 按参数位置绑定:使用?占位符来实现
2、 按参数名称绑定:命名参数以:开头
Hibernate中如何实现分页的?
1、 使用聚合函数count()获取总记录数
2、 计算总页数:int totalPages=(count%pageSize==0)?(count/pageSize):(count/pageSize+1)
3、 实现分页
简述HQL投影查询时,对查询结果进行封装的几种情况?
1、 每条查询结果只包含一条结果列object
2、 每条查询结果包含不止一条结果咧object[]
3、 Javabean
第五章
什么是单向多对一关联和双向一对多关联?
单项多对一关联:如一个部门下有多个员工,而一个员工只属于一个部门
双向一对多关联:你中有我,我中有你,一个部门有多个员工, 多个员工用集合表示
Inverse属性的作用?
Inverse属性的值有两个,true和false,默认是false,inverse="false"的为主动方,主动方负责关联关系
什么延迟加载?
类级别的默认加载策略是延迟加载
第六章
HQL支持的常见连接类型?
1、 内连接:injor join或join
2、 迫切内连接:injor fetch或join fetch
3、 左内连接:left out join或left join
4、 迫切左外连接:left outer join fetch或left join fetch
5、 右外连接: right outer join 或rigth join
聚合函数有哪些?
1、 Count():统计记录数
2、 sum():求和
3、 min():最小值
4、 max():最大值
5、 avg():平均值
的查询关键字有哪些?
1、 all:只查询语句返回所有记录
2、 any:只查询返回任意一条记录
3、 some:与any意思一致
4、 in:与"=any"意思相同
5、 exist:只查询返回至少一条语句
操作集合的函数和属性?
Size()或size获取集合中那个元素目
数据库中得缓存使干啥用的?
一级缓存必须使用的,都有
二级缓存是将查询结果临时放在二级缓存中,要查的内容频繁使用,放在缓存中,再次使用的时候不需要再查询,只需要在缓存中拿来就可以了(提高效率,对经常使用的数据,健壮性)
使用hibernate查询优化策略?
1、使用延迟加载等方式避免加载多余数据
2、通过使用二级缓存,连接查询、查询缓存等方式减少查询语句
3、结合缓存机制,使用iterate()方法减少查询字段数及数据库访问次数
HQL优化
1、 避免使用or、not、like使用不当导致的失效
2、 注意使用having字句,distinct(去除重复行)导致的开销
3、 避免对索引字段使用函数进行计算导致的索引失效
第七章
1、Struts2是什么?
Strutc2是实现MVC模式的Web应用框架,以WebWork框架的设计思想为核心,吸取struts1的部分优点
Struct封装jsp、Servlet底层的数据
Struts1太依赖ServletAPI
Struts的优势?
1、 实现了MVC模式,层次结构清晰,使开发者专注与业务逻辑实现
2、 丰富的标签库提高开发效率(表达式语言访问数据库对象)
3、 基于AOP思想的拦截器机制降低业务间的耦合度
4、 通过配置文件就可以掌握系统间各部分间的关系
5、 更方便异常处理机制
6、 高扩展性
Struts的目录结构
1、Apps:官方提供的Struts2实例
2、docs:帮助文档
3、lib:发行包及依赖包(jar文件)
4、src:源代码
使用Strutc2开发程序的基本步骤:
1、 加载Strutc2类库
2、 配置web.xml
3、 开发视图层页面
4、 开发控制层Action
5、 配置Struts.xml
6、 部署运行项目
S'truts标签分为UI标签和通用标签
UI标签有哪些:表单标签、非表单标签
通用标签有哪些:控制标签、数字标签
常用的控制标签有哪些:条件标签和迭代标签
条件标签有:<s:if>……</s:if>和<else:if>……</s:else if>和<s:else>……</s :else>--------根据表达式的值判断要执行的内容
迭代标签有:<s:iterator>……</s:iterator>用于遍历集合
常用的数据标签:propety、debug、action、bean、include、push、set、url
第八章
Struts2的核心控制器?
在web.xml中配置<filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.
StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
简述Action的作用?
作为业务控制器,只负责返回结果,而不与视图相关联,这样的优势在于,当视图发生变化时,无需修改action代码,仅需修改配置文件即可
如何在struts中配置默认的Action?
<struts>
<package name="default" extends="struts-default">
<default-action-ref name="defaultAction" />
<action name="defaultAction">
<result>error.jsp</result>
</action>
</package>
</struts>
第九章
说说OGNL的中文名:
对象图导航语言
OGNL在框架中的作用?
开源项目,取代页面中的java脚本,简化数据访问
和EL同属于表达式语言,但功能更为强大1、表达式语言(将表单或Struts 2标签与特定的Java数据绑定起来,用来将数据移入、移出框架 )
2、类型转换 (数据进入和流出框架,在页面数据的字符串类型和Java数据类型之间进行转换)
为什么要进行类型转换?请输出struts2有哪些内置对象?
在基于HTTP协议的Web应用中
1、客户端请求的所有内容都以文本编码方式传输到服务器端
2、服务器端的编程语言却有着丰富的数据类型
什么是值栈?
由Struts 2框架创建的存储区域,具有栈的特点
Action的实例会被存放到值栈中
请说出在ActionContext中保存了哪些对象?
Application session ValueStack request attr parameters
可以通过哪个标签查看ActionContext中的对象?
<s:debug/>
第十章
简述struts2中处理http请求的全过程?
为什么说拦截器是struts2框架的核心?
Struts2的核心功能被放在拦截器中实现而不是集中在核心控制器中实现,每个拦截器完成一个功能,而完成这些功能的拦截器可以自由选择、灵活组合,需要什么拦截器,就在struts.xml中指定即可,增强的框架的灵活性。
Struts2有哪些自带的拦截器?
1、 params拦截器:将请求中的数据设置到action的属性上
2、 staticParams拦截器:
3、 servletConfig拦截器:将源于Servlet API的各种对象注入到Action
4、 fileUpload拦截器:实现文件上传
5、 validation拦截器:用于执行数据校验(校验框架进行校验)
6、 workflow拦截器:提供数据校验错误时终止执行流程的功能(调用Action类中的Validate(),执行数据校验)
7、 execption拦截器:用于捕获异常
简述创建自定义拦截器的步骤?
1、 实现interceptor接口
(1):初始化拦截器的所有资源:void init()
(2):释放在init()中分配的资源
(3):String intercept(ActionInvocation ai) throws Exception
实现拦截器功能
利用ActionInvocation参数获取Action状态
返回结果码(result)字符串
2、继承AbstractInterceptor类
提供了init()和destroy()方法的空实现
只需要实现intercept方法即可
使用Struts 2框架实现文件上传时需要添加哪几个jar文件?
commons-fileupload-x.x.x.jar
commons-io-x.x.x.jar
猜你喜欢
- 2024-11-04 免费通用数据库工具DBeaver,替代收费的Navicat
- 2024-11-04 数据库管理工具Navicat使用教程:SQL 中的谓词
- 2024-11-04 第32期Java面试题:数据库三范式、union和union all异同
- 2024-11-04 1、Oracle数据库的一些基本概念 oracle数据库概述
- 2024-11-04 攻薪季,Java架构师学习路线+视频
- 2024-11-04 数据库笔试面试130——在Oracle中,有关外部表说法正确的是?
- 2024-11-04 mysql和oracle中存储布尔值 oracle存储blob字段
- 2024-11-04 数据库对象的基本知识 简述数据库对象
你 发表评论:
欢迎- 621℃几个Oracle空值处理函数 oracle处理null值的函数
- 613℃Oracle分析函数之Lag和Lead()使用
- 602℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 598℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 594℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 586℃【数据统计分析】详解Oracle分组函数之CUBE
- 575℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 563℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)