emp

第四十一天

末鹿安然 提交于 2019-12-21 07:16:21
一对一关系的补充****** 生活中的一对一 客户表, 学员表 通过分析 一个客户只对应一个学员 一个学员只对应一个客户 所以确定关系为一对一 在mysql中通过外键来建立一对一 create table customer(id int primary key auto_increment,name char(10),phone char(11),sex char(1)); create table student(id int primary key auto_increment,name char(10),class char(11),sex char(1),c_id int, foreign key(c_id) references customer(id) on update cascade on delete cascade ); 表之间的关系:一对一 整形保存不了电话号码 create table copy_table *from 表名 create table copy_table select *from 表名 where 0>1; where 后面不能再运行 复制表 拷贝表 *** create table copy_table select *from customer ; 拷贝结构 与数据 create table copy_table select

JAVA8 stream接口 distinct,sorted,peek,limit,skip

匆匆过客 提交于 2019-12-21 04:46:10
下面,我们来看其他的剩余的一些中间操作,各自的作用,我也通过注释,做了解析,方法定义如下; //去重复 Stream<T> distinct(); //排序 Stream<T> sorted(); //根据属性排序 Stream<T> sorted(Comparator<? super T> comparator); //对对象的进行操作 Stream<T> peek(Consumer<? super T> action); //截断--取先maxSize个对象 Stream<T> limit(long maxSize); //截断--忽略前N个对象 Stream<T> skip(long n); 下面,我们用一些案例,对这些操作,做一些综合的演示 package com.taihao; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.stream.Stream; public class TestJava8 { public static List<Emp> list = new ArrayList<>(); static { list.add(new Emp("xiaoHong1",

PL/SQL程序设计

陌路散爱 提交于 2019-12-20 22:53:51
第一章:PL/SQL概述: 什么是PL/SQL: A。PL/SQL是 Procedure Language & Structured Query Language 的缩写。PL/SQL是对SQL语言存储过程语言的扩展。从ORACLE6以后,ORACLE的RDBMS附带了PL/SQL。它现在已经成为一种过程处理语言,简称PL/SQL。目前的 PL/SQL包括两部分 ,一部分是数据库引擎部分;另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎。可以将这两部分称为: 数据库PL/SQL和工具PL/SQL 。两者的编程非常相似。都具有编程结构、语法和逻辑机制。 B。PL /SQL是一种高级数据库程序设计语言,该语言 专门用于在各种环境下对ORACLE数据库进行访问 。由于该语言集成于数据库服务器中 ,所以PL/SQL代码可以对数据进行快速高效的处理。 PL/SQL的好处: A。有利于客户/服务器环境应用的运行 对于客户/服务器环境来说,真正的瓶颈是网络上。无论网络多快,只要客户端与服务器进行大量的数据交换。应用运行的效率自然就回受到影响。如果使用PL/SQL进行编程,将这种具有大量数据处理的应用放在服务器端来执行。自然就 省去了数据在网上的传输时间 。 B。适合于客户环境 PL/SQL由于分为数据库PL/SQL部分和工具PL/SQL。对于客户端来说,PL

java8 stream接口 终端操作 collect操作

白昼怎懂夜的黑 提交于 2019-12-20 15:05:36
在之前,我们有说到,java8中的stream操作,分为中间操作和终端操作,在终端操作中,前面也看到了归约的方式,这篇主要是也说的归约操作的方式collect,收集器操作,收集器操作,可以当做是一种更高级的归约操作; 先看下stream中的collect操作 <R> R collect(Supplier<R> supplier,BiConsumer<R, ? super T> accumulator,BiConsumer<R, R> combiner); <R, A> R collect(Collector<? super T, A, R> collector); 第一个,是传入3个参数的抽象方法, 第二个只有一个参数的先看下stream中的collect操作Collectors静态工厂类,而在这个静态工厂类中,大部分的实现,都是调用的三个参数的方法,几乎满足了我们日常中所有的操作;所以说,我们只看下,这个静态工厂类中,有哪些实现; 在java8实战中,有列举出来,大家可以自己看下介绍,下面,我们通过代码,做个演示; package com.meinergy.vppd.business.api.test; import java.util.ArrayList; import java.util.Comparator; import java.util

关于 SQL语句

浪子不回头ぞ 提交于 2019-12-20 06:51:19
数据库相关的SQL 查看所有数据库 show databases; 创建数据库 格式:create database 数据库名称; create database db1; 删除 格式:drop database 数据库名称; 查看数据库详情 格式:show create database 数据库名称; show create database db1; 创建数据库指定字符集 格式:create database 数据库名称 character set utf8/gbk; create database db2 character set gbk; 使用数据库 格式: use 数据库名称 use db1; 表相关SQL 创建表 create table t1(name varchar(10),age int) engine=myisam/innodb charset=gbk/utf8; 查询所有表 show tables; 查询表详情 show create table t1; 查看表字段 desc t1; 修改表名 rename table t1 to t2; 修改表引擎字符集 alter table t1 engine=myisam/innodb charset=gbk/utf8; 添加表字段 alter table t1 add age int first/after xxx

pl/sql学习(4): 包package

梦想的初衷 提交于 2019-12-19 18:52:59
本文简单介绍包, 目前来看我用的不多, 除了之前 为了实现 一个procedure 的输出参数是结果集的时候用到过 package. 概念: 包是一组相关过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合。 特点: 它具有面向对象程序设计语言的特点,是对PL/SQL程序设计元素(过程、函数、变量等)的封装。它使程序设计模块化。 包中的程序元素分为两种:公用元素(公用组件)、私用元素(私用组件). 组成: 一个包由两个分开的部分组成 (1) 包规范(包定义):用于定义包的公用组件,包括常量、变量、游标、过程和函数等。 (2) 包体(包主体):用于实现包规范所定义的公用过程和函数。 包体不仅可用于实现公用过程和函数,而且还可以定义包的私有组件(变量、游标、过程、函数等) 创建包规范 语法 CREATE [OR REPLACE] PACKAGE package_name IS | AS -- 定义公用常量、变量、游标、过程、函数等 END [package_name]; 实例1: CREATE OR REPLACE PACKAGE emp_package IS --添加员工信息的存储过程 PROCEDURE add_emp_proc (v_empno IN emp.empno%TYPE, v_ename IN emp.ename%TYPE, v_sal IN emp.sal

Mybatis框架介绍及其入门

人走茶凉 提交于 2019-12-19 05:44:46
在前面介绍了原生JDBC的缺陷,那么对于弥补相应缺陷的框架:就是目前最流行的————Mybatis框架 Mybatis框架介绍及其入门 Mybatis框架介绍 Mybatis原本是Apache软件基金会的一个开源项目叫做iBatis,2010年这个项目由Apache迁移到了goole code管理才改名为Mybatis,2013年又迁移到了GitHub。 #Github代码托管平台:就是互联网网站,上面放东西的 注意:如果以后想从事开发工作的话,在招聘信息和面试时候可能问你会ibatis吗 ?记得它就是Mybatis Mybatis是一个优秀的持久层框架(Dao层框架),它是对JDBC的封装,使得开发者只需要关注Sql语句(业务)本身即可,无需开发者处理加载驱动、获取连接、创建Statement等繁琐的过程。 Mybatis 最大的特点是把Sql 语句写在XML 配置文件当中 。而且Mybatis执行完Sql语句之后可以以对象形式返回(实体类/实体类集合等) ORM:Object/Relation Mapping 对象/关系映射 ORM思想:将数据库中的关系数据表映射为JAVA中的对象,把对数据表的操作转换为对对象的操作,实现面向对象编程。因此ORM的目的是使得开发人员以面向对象的思想来操作数据库 Hibernate框架是一个 全自动的 ORM 持久层框架,只需要编写POJO

Oracle procedure 基本语法

╄→尐↘猪︶ㄣ 提交于 2019-12-19 05:41:11
Oracle procedure 基本语法 转自: http://lorry1113.javaeye.com/blog/513851 关键字: oracle 存储过程 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; EXCEPTION WHEN NO_DATA_FOUND THEN xxxx; END; ... 3.IF 判断 IF V_TEST=1 THEN BEGIN do something END; END IF; 4.while 循环 WHILE V_TEST=1 LOOP BEGIN XXXX END; END LOOP; 5.变量赋值 V_TEST := 123; 6.用for in 使用cursor ... IS CURSOR cur IS

启用Oracle中的scott用户

…衆ロ難τιáo~ 提交于 2019-12-19 00:35:38
启用 Oracle 中的 scott 用户 在 Linux 系统上安装 Oracle 服务器,有的不含有 scott 用户,有的 scott 用户被锁。下面是添加 scott 用户或解锁 scott 。 一、 验证 scott 用户是否存在 用 oracle 用户登录 su – oracle ,之后用 SYS 用户连接数据库: $ sqlplus / as sysdba SQL>conn scott/tiger ERROR: ORA-28000: the account is locked 说明 scott 用户被锁或不存在,先解锁试试 $ sqlplus / as sysdba SQL> alter user "scott" account unlock; alter user "scott" account unlock * ERROR at line 1: ORA-01918: user 'scott' does not exist SQL> 因此说明 scott 用户不存在 二、 添加 scott 用户 1. 把下面内容复制到一个新建的名字为 scott.sql 的文件里 Rem Copyright (c) 1990 by Oracle Corporation Rem NAME REM UTLSAMPL.SQL Rem FUNCTION Rem NOTES Rem

数据结构与算法之哈希表结构

↘锁芯ラ 提交于 2019-12-19 00:26:21
一、概念 也称散列表,是指根据关键码值(key-value)而直接进行访问的数据结构,也就是说它通过把关键码值映射到表中的一个位置来访问记录,以加快查找的速度,这个映射函数叫做散列函数,存放记录的数组叫做散列表,也称哈希表。 二、一句话概括 哈希表就是由数组和链表二者结合而成的新型数据结构。数组存放key(经过hash计算后生成的存放key的数组位置),链表存放value。 三、图解 hash算法有很多,比如最简单的哈希算法就是用存放的值去取模数组长度。比如存放元素20,那就是20%5=0,所以20这个元素就存放在数组下标为0的位置,再比如4%5=4,所以元素4存放在数组下标为4的位置。 回想下Java的hashmap,典型的key-value,那么我们put的时候是存放到哪了呢?其实就是key的hash算法得到一个数组下标位置,将其存进去。当然比我说的复杂的多,但是大致原理确是如此。 当我们getKey的时候,首先会根据key进行hash算法得到数组下标位置,查找时间复杂度为O(1)。 四、哈希碰撞 多个key经过hash算法后得到的是同一个值(同一个数组下标),这就称之为哈希碰撞。这时候可以将他们的值都存放在链表中。(毕竟链表是拉链式的,可以往后next next next) 五、Google上机题 Google机试题。 就是让你存储员工信息,员工包含id和name