emp

java框架--Model层框架 sorm

别来无恙 提交于 2020-01-18 13:33:29
SORM框架 1 核心框架: Query接口 负责查询(对外提供读物的核心类) QueryFactory类 负责根据配置信息创建query对象 Typeconverto接口 负责类型转换 TableContext 类 负责获取管理数据库所有表结构和类结构的关系,并可以根据表结构生成类结构, DBManager 类 根据配置信息,维持连接对象的管理增加连接池功能 工具类 JDBCUtil 封裝常用JDBC操作 StringUtil 封裝常用字符串操作 JavaFileUtil封裝java文件操作 ReflectUtil 封裝常用反射操作 client QueryFactory <interface> DB2Query query OracleQuery mysqlQuery TableContext DBManager <interface> OracleTypeConvertor TypeConvertor mysqlTypeConvertor 核心bean ,封裝相关数据 ColumnInfo 封裝表中一个字段的信息(字段类型、字段名、键类型) Configuration 封裝配置文件信息 TableInfo 封裝一张表的信息 2、针对SORM框架的说明: 核心思想:使用简单、性能高、极易上手! 配置文件: 模卡使用资源文件、后期项目复杂后可以增加xml文件配置和注解。

python day36

一曲冷凌霜 提交于 2020-01-18 13:08:26
今日内容 表与表之间建关系 外键  一对多  多对多  一对一所有的信息都记录在一张表中所带来的问题 1.表的结构不清晰 2.浪费硬盘空间 3.表的扩展性极差(无法忽略的缺点) PS:类似于我们将所有的代码都写在用一个py文件内 确立表与表之间的关系,一定要换位思考(必须两方都考虑周全之后才能得出结论)以员工表和部门表为例: 先站在员工表看能否有多个员工对应一个部门 分析: 一个部门能否有多个员工 可以!!!(暂时只能确定员工单向多对一部门) 再站在部门表看能否有多个部门对应一个员工 分析: 一个员工能否属于多个部门 不可以!!!结论: 员工表和部门表之间仅仅是 单向的多对一 那么它们的表关系就是 "一对多" 表关系中没有多对一一说,只有一对多 ( 无论是多对一还是一对多都叫"一对多" ) 关于让两种表有代码层面上真正的关联,必须使用外键什么是外键? 让表与表有硬性层面上的关系foreign key 外键约束 1.在创建表的时候 必须先创建被关联表 2.插入数据的时候 也必须先插入被关联表的数据 # 建表 create table dep( id int primary key auto_increment, dep_name varchar(32), dep_desc varchar(128) ); create table emp( id int primary key

Hive基础sql语法(DDL)

◇◆丶佛笑我妖孽 提交于 2020-01-18 11:20:15
前言: 经过前面的学习 我们了解到Hive可以使用关系型数据库来存储元数据,而且Hive提供了比较完整的SQL功能 ,这篇文章主要介绍Hive基本的sql语法。 首先了解下Hive的数据存储结构,抽象图如下: 1.Database:Hive中包含了多个数据库,默认的数据库为default,对应于HDFS目录是/user/hadoop/hive/warehouse,可以通过hive.metastore.warehouse.dir参数进行配置(hive-site.xml中配置) 2.Table: Hive 中的表又分为内部表和外部表 ,Hive 中的每张表对应于HDFS上的一个目录,HDFS目录为:/user/hadoop/hive/warehouse/[databasename.db]/table 3.Partition:分区,每张表中可以加入一个分区或者多个,方便查询,提高效率;并且HDFS上会有对应的分区目录: /user/hadoop/hive/warehouse/[databasename.db]/table 4.Bucket(桶):暂且不讲 DDL操作(Data Definition Language) 参考官方文档: DDL文档 HiveQL DDL statements are documented here, including: CREATE DATABASE

plsql语句

試著忘記壹切 提交于 2020-01-17 06:09:21
基本语法 使用一个变量 declare –声明一个变量 v_name varchar2(25); begin –通过 select … into … 语句为变量赋值 select last_name into v_name from employees where employee_id = 186; – 打印变量的值 dbms_output.put_line(v_name); end; 使用多个变量 declare –声明变量 v_name varchar2(25); v_email varchar2(25); v_salary number(8, 2); v_job_id varchar2(10); begin –通过 select … into … 语句为变量赋值 –被赋值的变量与 SELECT 中的列名要一一对应 select last_name, email, salary, job_id into v_name, v_email, v_salary, v_job_id from employees where employee_id = 186; – 打印变量的值 dbms_output.put_line(v_name || ', ’ || v_email || ', ’ || v_salary || ', ’ || v_job_id); end; 记录类型 3.1

MySQL多表查询几种不同示例

℡╲_俬逩灬. 提交于 2020-01-16 15:31:36
多表查询的概述: 同时查询多张表获取到需要的数据 例如:我们想查询到开发部有多少人,需要将部门表和员工表同时进行查询 多表查询的分类: 内连接查询 显示内连接 隐式内连接 外连接查询 左外连接 右外连接 子查询 子查询的结果是一个值的 子查询的结果是单列多行的 子查询的结果是多列多行的 内连接的概述:用左边表的记录去匹配右边表的记录,如果符合条件的则显示 隐式内连接: 看不到JOIN关键字,条件使用WHERE指定 语法: select 查询的字段 from 左表,右表 where 条件; 多表查询步骤的结论: 1.确定需要查那几张表 2.确定关联条件(表的关联条件,其他条件) 3.确定需要查询的字段 4.确定是内连接,外连接,子查询 子查询的注意事项:子查询结果只要是多列,肯定在FROM后面作为表 SELECT 查询字段 FROM (子查询) 表别名 WHERE 条件;子查询作为表需要取别名,否则这张表没用名称无法访问表中的字段。 -- 练习1:查询所有员工信息。显示员工编号,员工姓名,工资,职务名称,职务描述 2张表 -- 1.确定需要查那几张表: emp e,job j -- 2.确定关联条件: e.job_id=j.id -- 3.确定需要查询的字段: e.id,e.ename,e.salary,j.jname,j.description -- 4.确定内连接 SELECT

oracle练习-day02

拥有回忆 提交于 2020-01-15 22:37:49
- - 01 .查询员工表和部门表 select * from emp e,dept d where e.deptno = d.deptno; - - 02 .查询出雇员的编号,姓名,部门的编号和名称,地址 select e.empno,e.ename,e.deptno,d.dname,d.loc from emp e,dept d where e.deptno = d.deptno; - - 03 .查询出每个员工的上级领导 - - (员工编号、员工姓名、员工部门编号、员工工资、领导编号、领导姓名、领导工资) select e1.empno,e1.ename,e1.deptno,e1.sal,e2.empno,e2.ename,e2.sal from emp e1,emp e2 where e1.mgr = e2.empno; - - 04 .在上一个例子的基础上查询该员工的部门名称 select e1.empno,e1.ename,e1.deptno,e1.sal,e2.empno,e2.ename,e2.sal,d.dname from emp e1,emp e2,dept d where e1.mgr = e2.empno and e1.deptno = d.deptno; - - 05 .在上一个例子的基础上查询员工工资等级和他的上级领导工资等级 select e1

oracle练习-day04

心不动则不痛 提交于 2020-01-15 22:34:06
- - - - - - - - - - - - - - - - - - - - - - - - - - - Oracle day04 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 01 .什么是PL / SQL ? 通俗理解:plsql: Procedure language sql 过程化语言 plsql是一组 sql 语句集合,在这个plsql中集合语句中可以处理复杂业务逻辑 (申明变量、条件分支、循环语句、异常处理) 优点:如果使用plsql语言,编写存储过程 函数,提供java代码调用,减少访问数据频率 缺点:对程序员要求比较高(高级程序员 或 专业DBA),存储过程 函数 移植不方便 - - 02 .PL / SQL 基本语法 declare - - 声明变量 (普通变量、常量、引用型变量、记录型变量) begin - - DML语句(逻辑语句) end ; - - 03 .普通变量和常量使用 - - 类似于java中 private String myname = "老王" ; declare myname varchar2( 30 ) : = '老王' ; begin myname : = '隔壁老王' ; select e.ename into myname from

Linq 学习(1) 概述

ε祈祈猫儿з 提交于 2020-01-14 17:29:03
本篇简单回顾C#语言集合操作的变化,通过与Linq对等的面向对象的语法来认识Linq。 Linq是Language Integrated Query, 初识Linq感觉跟SQL Server的Tsql很像,可以进行语言必备的逻辑操作,也可以实现对集合的直接查询。 Net1.X时代 C#不支持泛型,集合用元素只能为object类型的ArrayList等。 添加、取出元素都与Object类型进行强制类型转换, 如果是值类型要进行装箱操作,取出元素时进行拆箱操作,影响效率, 编译时不进行类型检查,类型不匹配运行时可能出错。 定义实体类: public class Employee { private string _Name; private int _Age; private string _Phone; public string Name { get { return _Name; } set { _Name = value; } } public int Age { get { return _Age; } set { _Age = value; } } public string Phone { get { return _Phone; } set { _Phone = value; } } public Employee( string name, int age,

SQL中查询语句的使用

与世无争的帅哥 提交于 2020-01-13 22:36:04
常用SQL查询语句 - myLittleGarden - 博客园 http://www.cnblogs.com/sunada2005/p/3411873.html 一、简单查询语句 1. 查看表结构 SQL>DESC emp; 2. 查询所有列 SQL>SELECT * FROM emp; 3. 查询指定列 SQL>SELECT empmo, ename, mgr FROM emp; SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项 4. 查询指定行 SQL>SELECT * FROM emp WHERE job='CLERK'; 5. 使用算术表达式 SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp; nvl(comm,1)的意思是,如果comm中有值,则nvl(comm,1)=comm; comm中无值,则nvl(comm,1)=0。 SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal为别名,可按别名排序) SQL>SELECT * FROM emp WHERE hiredate>'01-1月-82'; 6. 使用like操作符(%,_) %表示一个或多个字符,_表示一个字符,[charlist

《OD学hive》第五周0723

久未见 提交于 2020-01-13 11:59:53
https://cwiki.apache.org/confluence/display/Hive/LanguageManual 一、创建表 create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; describe formatted student; load data local inpath '/opt/datas/student.txt' into table test.student; 二、函数 show functions; describe function extended upper; select id, upper(name) from test.student; 三、设置 cat .hiverc set hive.cli.print.header=true; set hive.cli.print.current.db=true; hive --hiveconf hive.root.logger=INFO,console 四、hive数据仓库位置配置 默认位置 /user/hive/warehouse 注意: 在仓库目录下,没有对默认的数据库default创建文件夹; 如果某张表属于default数据库,直接在数据仓库目录下创建一个文件夹