数据库对象

Java面试框架篇(8)

£可爱£侵袭症+ 提交于 2019-12-05 07:01:38
71,谈谈你对Struts的理解。 1. struts是一个按MVC模式设计的Web层框架,其实它就是一个Servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类。我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再参照一个配置文件将各个请求分别分配给不同的action去处理。 (struts的配置文件可以有多个,可以按模块配置各自的配置文件,这样可以防止配置文件的过度膨胀) 2.ActionServlet把请求交给action去处理之前,会将请求参数封装成一个formbean对象(就是一个java类,这个类中的每个属性对应一个请求参数), 3.要说明的是, ActionServlet把formbean对象传递给action的execute方法之前,可能会调用formbean的validate方法进行校验,只有校验通过后才将这个formbean对象传递给action的execute方法,否则,它将返回一个错误页面,这个错误页面由input属性指定。 4.action执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward对象来表示的,actionForward对象通过struts-config.xml配置文件中的配置关联到某个jsp页面

Mybatis源码解析(四) —— SqlSession是如何实现数据库操作的?

雨燕双飞 提交于 2019-12-05 06:22:16
Mybatis源码解析(四) —— SqlSession是如何实现数据库操作的?   如果拿一次数据库请求操作做比喻,那么前面3篇文章就是在做请求准备,真正执行操作的是本篇文章要讲述的内容。正如标题一样,本篇文章最最核心的要点就是 SqlSession实现数据库操作的源码解析。但按照惯例,我这边依然列出如下的问题: 1、 SqlSession 是如何被创建的? 每次的数据库操作都会创建一个新的SqlSession么?(也许有很多同学会说SqlSession是通过 SqlSessionFactory.openSession() 创建,但这个答案按照10分制顶多给5分) 2、 SqlSession与事务(Transaction)之间的关系? 在同一个方法中,Mybatis多次请求数据库,是否要创建多个SqlSession? 3、 SqlSession是如何实现数据库操作的?    本章内容就是围绕着上面三个问题进行解析,那么带着问题去看源码吧! 一、SqlSession 的创建    在学习Mybatis时,我们常常看到的 SqlSession 创建方式是 SqlSessionFactory.openSession() ,那么我们就拿此作为切入点,先来看看 SqlSessionFactory.openSession() 的方法源码(注意 是

ORM与JPA规范

北战南征 提交于 2019-12-05 06:12:46
一、ORM框架 1.ORM简单介绍 对象关系映射,(Object Relational Mapping,简称ORM),是通过使用描述对象和数据库之间的映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中,本质上讲就是将数据从一种形式转换为另一种形式,也就是在开发当中操作实体类对象就是操作数据库表。实际应用中即在关系型数据库和业务对象之间做一个映射,就不需要和SQL语句打交道,只要像平时操作对象一样就可以了,常见的ORM框架有Hibernate、TopLink、Castor JDO、Apache OBJ等。 2.java中ORM的实现原理 其实,要实现javaBean的属性到数据库表的 映射,任何ORM框架不外乎是读某个JavaBean的属性和数据库表的字段关联起来,当从数据库执行Query时,自动把字段的值塞进JavaBean的对应属性里,当作INSERT或者UPDATE时,自动把JavaBean的属性绑定到SQL语句中, 二、JPA规范 JPA(Java Persistence API),意为Java持久层API,是JDK5.0以后使用注解或xml描述对象-关系的映射关系,并将运行期的实体对象持久化到数据库当中,JPA总体的思想就是和现有的ORM框架(Hibernate、TopLink等)大体一致,JPA是一套规范,类似RESTful一样,都是一套规范。

学习streams第一天

别来无恙 提交于 2019-12-05 06:08:24
一.概念 1.oracle streams提供了专一的信息共享解决方案。 2.数据库之间,应用程序之间,应用程序和数据库之间,不同版本的数据库,不同操作系统的数据库,不同的数据库比如DB2,sql server之间进行信息共享。 3.在oracle streams中,最小的信息共享单位被称为消息message,一个消息可以在对数据库的修改中被捕获到,也可以从数据库的事件中产生,包括dml,ddl(比如对表和索引的添加等),但是,某些操作不在共享范围之内,比如增加数据文件,启动一个备份或者卸载一个表空间等。 4.oracle streams可以控制要捕获的消息---信息流,信息流传播的方式,以及信息流到达目标端时的使用或者应用模式。 5.orale streams有众多的应用程序,例如消息队列,数据保护,数据仓库加载,数据复制,我们主要学习数据复制。 6.oraclestreams是oracle database 11g 中一个标准且完整的功能,但是oracle database 11g的标准版把同步捕获作为自动捕获数据库修改的唯一方法,所谓的同步捕获就是在数据发生修改的同时就捕获,而不是在修改完成之后再日志中捕获。 在企业版中,异步捕获支持。 二.oracle streams中的信息流 1.oracle streams中的信息流向 捕获 ------ 暂存和传播 ---------

转载:外部表

霸气de小男生 提交于 2019-12-05 03:55:57
转载于: https://www.iteye.com/blog/czmmiao-1268712 关于12cocp的一道题 What must you use to read data from a table in your database and write it to an external table? A. Use CREATE TABLE...ORGANIZATION EXTERNAL command with ORACLE_DATAPUMP access driver B. Use SQL* LOADER direct path load C. Use SQL* LOADER conventional path load D. Use CREATE TABLE... ORGANIZATION EXTERNAL command with ORACLE_LOADER access driver 参考答案:A 答案A和D很相似,就是他们两者之间的区别,我们下面做个测试看两者是否都能满足从本地读数据写入到外部表。 Oracle Database provides two access drivers: ORACLE_LOADER and ORACLE_DATAPUMP . By providing the database with metadata describing

单选题

拟墨画扇 提交于 2019-12-05 00:21:29
1、【设计模式】在观察者模式中,表述错误,C,观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。2、【设计模式】关于继承表示错误的是,D,继承本质上是“白盒复用”,对父类进行修改,不会影响到子类。3、【开发行为规范】日常工作中,以下哪些改变行为,B,遇到非本质工作范畴时,。。集中精力于自己的项目即可。4、【zabbix监控系统监控自动化】大促期间,DNS系统客户端缓存如何处理?B,开启5、【部署架构】前后端分离架构,静态资源一般在哪些服务器上?B,nginx6、【部署架构】以下承担web防护的服务器是?D,waf7、【系统稳定与保障】为了查看服务器的网卡流量,一般什么平台查看?A,zabbix8、【系统稳定与保障】为了查看生产redis当前的命令数,可以从哪些平台查看?D,promes9、【系统稳定与保障】从以下哪个平台,可以对生成应用的异常进行监督?B,云迹10、【zabbix监控系统监控自动化】大促期间,服务器扩容操作应遵守什么规则?C,扩容要报备11、【zabbix监控系统监控自动化】大促期间,数据库备份操作如何处理?D,根据情况关闭或延迟备份12、【设计模式】要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是()的表述,D,依赖倒转原则13、【SQL】用于表示数据库实体之间的关系图是?A,实体关系图14、【单元测试基础能力

JDBC

為{幸葍}努か 提交于 2019-12-04 21:43:02
JDBC:定义了一套操作所有关系型数据库的规则(接口) 概念:java DataBase Connectivity Java数据库连接,java语言操作数据库 本质:官方定义的一套操作所有关系型数据库的规则,即接口,各个数据库厂商去实现这套接口,提供数据库驱动jar包,我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类; 2快速入门: 步骤: 1导入驱动jar包mysql-connector-java-8.0.18.jar 1 先复制mysql-connector-java-8.0.18.jar到项目的libs目录下 2然后 选择右键add as Library 2注册驱动 Class.forName("com.mysql.jdbc.Driver"); 3获取数据库的链接对象 Connection Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/db3","root","mima"); 4定义sql String sql="update account set balance =500 where id=1"; 5获取执行sql语句的对象 Statement statement stmt=conn.createStatement(); 6执行sql

数据库 JAVA JavaScript Struts2

空扰寡人 提交于 2019-12-04 17:35:23
1. 数据库的学习与应用 从最基础的Oracle的安装与安装完成后的检查情况以及select语句讲起, oracle作为一种 适用于大型、中型和微型计算机的关系数据库管理系统, 操作相对比较繁琐,从select语句、Oracle中的函数到存储过程,表与表之间的联系,以及如何将这两个没有关系的表给关联起来了,就是要为一张表建立一个主键和外键,外键用来联系另一张表的主键。 明确解决问题的思路,确定要联系哪张表,明确联系后不需要的列不需要查询等等。从一无所知变得入门,学会好多基本的东西,认识到学习方法的重要性,人不要以为死学,要学以致用,从思路里领悟更多的知识。我发现oracle数据库并没有我想象中的难,勤学多练,及时复习至关重要。 (1)基本概念与体系结构 Oracle(神谕)公司,主要的版本Oracle8i/9i(internet)、Oracle10g/11g(grid) 、Oracle12c(cloud) a.实例(Instance),实例是一个非固定的、基于内存的基本进程与内存结构。Oracle实例 = 内存结构+后台进程 b.数据库(Database),数据库指的是固定的、基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等。它是静态的、永久的,只要文件存在它就存在。数据库名(db_name)就是对数据库的标识。 *用户访问数据库,连接的是实例,通过实例访问数据库。

初识JDBC

余生长醉 提交于 2019-12-04 15:23:31
JDBC idea第一次使用过程中会出现使用时区错误,设置时区后解决问题 概念:JAVA DataBase Connectivity -java 数据库连接,java语言操作数据库 JDBC本质:sun公司定义的一套JAVA连接各种关系型数据库的规则(接口),并没有进行实现,而是由每个数据库厂商实现了这个接口,并且提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行代码的是驱动jar包中的实现类。 JDBC 快速入门 package cn.learn.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class JdbcDemo01 { public static void main(String[] args) { //1.导入厂商jar包,复制包到新建文件夹lib,再add as Library /* mysql厂商的jar包在5版本后里的META-INF中已经注册驱动,可 以不写 Class.forName("com.mysql.jdbc.Driver"); */ Statement statement = null; Connection conn =

javaBean和数据层的DAO设计模式

人盡茶涼 提交于 2019-12-04 10:40:12
jsp:javaBean 一、javaBean简介 javaBean是使用java语言开发的一个人可重用的组件,在jsp开发中可以使用javaBean减少重复的代码,是一种特殊的java类,使用java语言编写,遵循javaBean API规范 优点 将html和java代码分离,这主要是为了日后的维护方便 减少代码重复 在jsp中如果要应用jsp提供的javaBean的标签来操作简单类,则此类要满足以下要求: 所有类都要在一个包中,在web项目中没有包的类时不存在的。 所有类必须是public修饰,这样才能被外界访问。 提供一个默认的无参构造函数。 需要被序列化并且实现了 Serializable 接口。 可能有一系列可读写属性。(可能的意思就是除了private修饰的字段,也可以有其他修饰符修饰的字段,但是必须至少要有一个private修饰的字段) 可能有一系列的 getter 或 setter 方法。 二、在jsp中使用javaBean 一个javaBean编写结束后,需要进行打包编译,那么存放到哪里呢? classes目录保存所有的javaBean,如果不存在则可以手动创建(WEBAPP/WEB-INFO/classes) 引入useBean 打包编译 直接使用javac -d.类名,根据该类的路径的定义来打包编译变为class文件,在web开发中