emp

TkMybatis 笔记

落花浮王杯 提交于 2020-01-28 22:30:09
目录 1.基本步骤 2.Java 实体类 3.集成Mapper 4.Mapper继承tkMabatis的Mapper接口 5.启动类Application或自定义Mybatis配置类上使用@MapperScan注解扫描Mapper接口 6.application.properties配置mapper.xml配置文件的扫描路径 7.常用注解 8.常用方法 1.基本步骤 1. 引入TkMybatis的Maven依赖 2. 实体类的相关配置,@Id,@Table 3. Mapper继承tkMabatis的Mapper接口 4. 启动类Application或自定义Mybatis配置类上使用@MapperScan注解扫描Mapper接口 5. 在application.properties配置文件中,配置mapper.xml文件指定的位置[可选] 6. 使用TkMybatis提供的sql执行方法 7. 如有需要,实现mapper.xml自定义sql语句 PS : 1. TkMybatis默认使用继承Mapper接口中传入的实体类对象去数据库寻找对应的表,因此如果表名与实体类名不满足对应规则时,会报错,这时使用@Table为实体类指定表。(这种对应规则为驼峰命名规则) 2. 使用TkMybatis可以无xml文件实现数据库操作,只需要继承tkMybatis的Mapper接口即可。 3.

SQL查询练习一

那年仲夏 提交于 2020-01-28 21:19:11
SQL查询语句练习一 题目来源:https://www.nowcoder.com/ta/sql 所涉及到的表及其结构 #员工信息表 CREATE TABLE ` employees ` ( ` emp_no ` int ( 11 ) NOT NULL , ` birth_date ` date NOT NULL , ` first_name ` varchar ( 14 ) NOT NULL , ` last_name ` varchar ( 16 ) NOT NULL , ` gender ` char ( 1 ) NOT NULL , ` hire_date ` date NOT NULL , PRIMARY KEY ( ` emp_no ` ) ) ; #部门经理表 CREATE TABLE ` dept_manager ` ( ` dept_no ` char ( 4 ) NOT NULL , ` emp_no ` int ( 11 ) NOT NULL , ` from_date ` date NOT NULL , ` to_date ` date NOT NULL , PRIMARY KEY ( ` emp_no ` , ` dept_no ` ) ) ; #员工所属部门表 CREATE TABLE ` dept_emp ` ( ` emp_no ` int ( 11

游标(转2)

折月煮酒 提交于 2020-01-28 12:15:45
使用游标   这里要做一个声明,我们所说的游标通常是指显式游标,因此从现在起没有特别指明的情况,我们所说的游标都是指显式游标。要在程序中使用游标,必须首先声明游标。   声明游标   语法: CURSOR cursor_name IS select_statement;   在PL/SQL中游标名是一个未声明变量,不能给游标名赋值或用于表达式中。   例: DELCARE CURSOR C_EMP IS SELECT empno,ename,salary FROM emp WHERE salary>2000 ORDER BY ename; ........ BEGIN   在游标定义中SELECT语句中不一定非要表可以是视图,也可以从多个表或视图中选择的列,甚至可以使用*来选择所有的列 。    打开游标   使用游标中的值之前应该首先打开游标,打开游标初始化查询处理。打开游标的语法是: OPEN cursor_name   cursor_name是在声明部分定义的游标名。   例: OPEN C_EMP;    关闭游标   语法: CLOSE cursor_name   例: CLOSE C_EMP;    从游标提取数据   从游标得到一行数据使用FETCH命令。每一次提取数据后,游标都指向结果集的下一行。语法如下: FETCH cursor_name INTO

ORACLE SQL性能优化系列 (四)

浪子不回头ぞ 提交于 2020-01-27 20:26:46
13. 计算记录条数 和一般的观点相反 , count(*) 比 count(1) 稍快 , 当然如果可以通过索引检索 , 对索引列的计数仍旧是最快的 . 例如 COUNT(EMPNO) ( 译者按 : 在 CSDN 论坛中 , 曾经对此有过相当热烈的讨论 , 作者的观点并不十分准确 , 通过实际的测试 , 上述三种方法并没有显著的性能差别 ) 14. 用 Where 子句替换 HAVING 子句 避免使用 HAVING 子句 , HAVING 只会在检索出所有记录之后才对结果集进行过滤 . 这个处理需要排序 , 总计等操作 . 如果能通过 WHERE 子句限制记录的数目 , 那就能减少这方面的开销 . 例如 : 低效 : SELECT REGION , AVG(LOG_SIZE) FROM LOCATION GROUP BY REGION HAVING REGION REGION != ‘SYDNEY’ AND REGION != ‘ PERTH’ 高效 SELECT REGION , AVG(LOG_SIZE) FROM LOCATION WHERE REGION REGION != ‘ SYDNEY ’ AND REGION != ‘ PERTH ’ GROUP BY REGION ( 译者按 : HAVING 中的条件一般用于对一些集合函数的比较 , 如 COUNT()

Mysql查询语句

让人想犯罪 __ 提交于 2020-01-27 02:25:58
Mysql SELECT 查询语法,基本语法 以两个表为基础,分别是部门表、员工表 //部门信息表 CREATE TABLE ` dept ` ( ` deptno ` int ( 11 ) unsigned NOT NULL AUTO_INCREMENT COMMENT '部门id' , ` deptname ` varchar ( 32 ) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '部门名称' , PRIMARY KEY ( ` dempno ` ) ) ENGINE = MyISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci ; //员工信息表 CREATE TABLE ` emp ` ( ` empid ` int ( 11 ) unsigned NOT NULL AUTO_INCREMENT COMMENT '员工ID' , ` deptno ` int ( 11 ) DEFAULT NULL COMMENT '部门ID' , ` ename ` varchar ( 32 ) COLLATE utf8_unicode_ci DEFAULT '' COMMENT '员工名字' , ` hiredate ` date DEFAULT NULL COMMENT

oracle PLSQL、游标、存储过程、触发器

僤鯓⒐⒋嵵緔 提交于 2020-01-27 00:51:21
文章主目录 PL/SQL 游标 存储过程 触发器 回到顶部 PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言 , PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言。我们知道SQL语言是没有分支和循环的,而PL语言是为了补充SQL语言的, 是带有了分支和循环的语言 。 PL/SQL 语法 基本数据类型声明 declare v_name varchar2(20); v_temp number(1); v_count binary_integer := 0; v_sal number(7,2) := 4000.00; v_date date := sysdate; v_pi constant number(3,2) := 3.14; v_valid boolean := false; v_name varchar2(20) not null := 'myname'; declare开头声明变量,v_name表示变量名字,通常以v_xxx这种格式命名变量,varchar2(20)表示变量类型, :=为赋值操作符 。 在 PL/SQL里面boolean类型变量在定义的时候一定要给初始值,Oracle 里面的put_line()不能打印boolean类型的值。 %type 属性声明 还有一种声明变量的方法:使用 %type属性。 declare

04hive查询

∥☆過路亽.° 提交于 2020-01-26 11:51:36
详细文档查看: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select 一. 基本查询(SELECT …FROM) 1. 全表和特定列查询 select * from emp; select empno, ename from emp; 注意: (1)SQL 语言大小写不敏感。 (2)SQL 可以写在一行或者多行 (3)关键字不能被缩写也不能分行 (4)各子句一般要分行写。 (5)使用缩进提高语句的可读性 列别名:重命名一个列 ;便于计算 ;紧跟列名,也可以在列名和别名之间加入关键字‘AS’。 select ename AS name, deptno dn from emp; 2. 算术运算符 查询出所有员工的薪水后加 1 显示。 select sal +1 from emp; 3. 常用函数 1) 求总行数(count) hive (default)> select count(*) cnt from emp; 2) 求工资的最大值(max) hive (default)> select max(sal) max_sal from emp; 3) 求工资的最小值(min) hive (default)> select min(sal) min_sal from emp; 4) 求工资的总和

Oracle 游标Cursor 的基本用法

≯℡__Kan透↙ 提交于 2020-01-26 11:27:37
查询   SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT语句时,要与INTO子句一起使用,查询的 返回值被赋予INTO子句中的变量,变量的声明是在DELCARE中。SELECT INTO语法如下:   SELECT [DISTICT|ALL]{*|column[,column,...]}   INTO (variable[,variable,...] |record)   FROM {table|(sub-query)}[alias]   WHERE............   PL/SQL中SELECT语句只返回一行数据。如果超过一行数据,那么就要使用显式游标(对游标的讨论我们将 在后面进行),INTO子句中要有与SELECT子句中相同列数量的变量。INTO子句中也可以是记录变量。   %TYPE属性   在PL/SQL中可以将变量和常量声明为内建或用户定义的数据类型,以引用一个列名,同时继承他的数据类 型和大小。这种动态赋值方法是非常有用的,比如变量引用的列的数据类型和大小改变了,如果使用了%TYPE, 那么用户就不必修改代码,否则就必须修改代码。   例:   v_empno SCOTT.EMP.EMPNO%TYPE;   v_salary EMP.SALARY%TYPE;   不但列名可以使用%TYPE,而且变量、游标、记录

Oracle Sql 胡乱记

时间秒杀一切 提交于 2020-01-26 11:20:37
/ Oracle查询优化改写 / --1、coalesce 返回多个值中,第一个不为空的值 select coalesce('', '', 's') from dual; --2、order by -----dbms_random.value 生产随机数,利用随机数对查询结果进行随机排序 select * from emp order by dbms_random.value; --指定查询结果中的一列进行排序 select * from emp order by 4; -----order by 中认为null是最大所以null会排在第一或者最后一个 -----可以利用 nulls first 或者 nulls last 对null进行排序处理 select * from emp order by comm nulls first; select * from emp order by comm nulls last; ----- 多列排序,job 降序排列,如果工作一样,按照工号升序排列 select * from emp order by job desc, empno asc; ------依次按照job,empno降序排序 select * from emp order by job, empno desc; ------将empno = 7934 的排在第一位

MySQL中的单表练习题

旧时模样 提交于 2020-01-26 10:10:57
-- 部门表 CREATE TABLE DEPT( DEPTNO INT PRIMARY KEY, DNAME VARCHAR(14), -- 部门名称 LOC VARCHAR(13)-- 部门地址 ) ; INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK'); INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS'); INSERT INTO DEPT VALUES (30,'SALES','CHICAGO'); INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON'); -- 员工表 CREATE TABLE EMP( EMPNO INT PRIMARY KEY, -- 员工编号 ENAME VARCHAR(10), -- 员工姓名 JOB VARCHAR(9), -- 员工工作 MGR INT, -- 员工直属领导编号 HIREDATE DATE, -- 入职时间 SAL DOUBLE, -- 工资 COMM DOUBLE, -- 奖金 DEPTNO INT -- 所在部门 ); -- 关联dept表 INSERT INTO EMP VALUES(7369,'SMITH','职员',7566,"1980-12-17",800,NULL,20)