目录数据访问一、JDBC自动配置原理:二、整合Druid数据源1、导入Druid依赖三、整合Mybatis(一)、Mybatis 增删改查1、创建mapper接口2、创建Controller(二)、Mybatis配置1、开启驼峰命名法2、Mapper扫描3、业务代码编写四、整合SpringData与JPA简介1、实体类2、Dao接口3、配置4、Control
需求:Employee 表,请编写一个SQL查询来查找至少有5名直接下属的经理。 展示效果: Name John 1 Create table If Not Exists Employee (Id int, Name varchar(255), Department varchar(255), ManagerId int); 2 3 insert into Employee (Id, Name, Department, ManagerI
1 --子查询 2 --子查询 (内查询) 在主查询执行之前执行 3 --主查询(外查询)使用子查询的结果 4 --问题:查询工资大于149号员工工资的员工的信息 5 SELECT last_name 6 FROM employees 7 WHERE salary > 8 (SELECT salary 9
前端页面设计 DepMana.vue <template> <div style="width: 500px;"> <el-input placeholder="输入部门名称进行搜索" prefix-icon="el-icon-search" v-model="filterText">
对查询每个部门对应的员工数量,使用外连接需要注意主、从表关联字段为空的问题,比如 以左外连接为例, SELECT d.*,COUNT(d.department_id) FROM departments d LEFT JOIN employees e ON d.department_id = e.department_id GROUP BY e.department_id; 以下sql执行情况如下:
最开始接触组合设计模式是在大话设计模式这本书中的案例,讲的是让你设计一个公司的组织架构,一个总公司下有人力资源部门,IT部门, 财务部门,还有广州分公司、深圳分公司,在分公司下也有IT部门和财务部门,让你用代码构建出来,然后在自学数据结构关于树型结构的时候,让你用python代码实现
起因 web运行页面加载速度突然变慢,从5秒左右变为2~3分钟。 查找问题源头: 1:代码问题: 因为业务逻辑复杂,运行两段sql进行数据查询,根据第一段sql查出来的数id在第二段sql里进行in查询,但由于第一段sql查出的数据量大概有6W+,所以在拼接sql中字符串长度过长导致报错GC。 2:数据库问
利用SpringMVC做一个CRUD(增删改查)符合Rest风格的; C:Create:创建 R:Retrieve:查询 U:Update:更新 D:Delete:删除 数据库:保存数据; 使用Map,List保存数据之类 员工列表 员工添加: 员工修改 员工删除-点击完成删除来到列表页面 增删改查的URL地址; /资源名/资源标识 /emp/
left join:以左表为基准,根据on条件过滤连接生成临时表,on后面的过滤条件对左表无效 right join:以右表为基准,根据on条件过滤连接生成临时表,on后面的过滤条件对右表无效 full join:以左表为基准,根据on条件过滤连接生成临时表,on后面的过滤条件对左右表无效 inner join:等值连接
1.约束 # 约束 # unsigned 设置某一个数字无符号 # not null 某一个字段不能为空 # default 给某个字段设置默认值 # unique 设置某一个字段不能重复 # 联合唯一 # auto_increment 设置某一个int类型的字段 自动增加 # auto_inc
第四天 数据层--通过Java代码来实现对数据库中数据的操作(增删改查) JDBC mybatis--mapper包名 接口: 静态常量 public static final 抽象方法 void f1(); Mybatis 的Mapper层(dao层)创建 @Mapper public interface DepartmentMapper { //增 @Insert("insert i
初学小程序,每天起床第一件事不是去看文档,而是打开班群接龙打卡信息,填写excel表(苦逼的大三狗每天群通知99+),所以萌生了写一款让学生报备信息的小程序。本来只是简单写了一个上报表单的程序,但是写完了之后又觉得好像缺了点什么,所以功能越写越多,项目不断重构,里面很多东西都是现
前几篇文章对控制器Controller以及布局页_Layout相关的代码与作用介绍了一下。接下来就是建立控制器对应的列表和对应的表单。 建立Department文件夹,在文件夹下面建立普通的Index.cshtml。 此视图对应Department控制器里面的Index方法,返回的值是IEnumerable,所有在视图去接收部门
摘要 最近将微人事这个开源项目进行了复现,这篇文章记录mybaits访问数据库这一块。 其中MyBatis是一个流行的持久层框架,支持自定义SQL、存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码、手动设置参数和检索结果。MyBatis可以使用简单的XML或注释进行配置,实现对数据库的访问
项目目录结构: 依赖包: <dependencies> <!--单测--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version>
多对一关系的处理 前期准备 数据库关系 可以看到employee是参照department表的,是多对一的关系 实体类 Department @Data public class Department { private Integer deptid; private String department_name; } Employee @Data public class Employee { private Intege
子查询 /* 含义:嵌套查询 出现在其他语句中的SELECT语句,成为子查询或者内查询 外部的查询语句,称为主查询或外查询 按子查询出现的位置 SELECT:[仅标量子查询] FROM [表子查询] WHERE & HAVING [标量、列、行、子查询] EXISTS [相关子查询] 按结果集的行列数
0.说在前面 基于Hibernate(五):标准SQL项目 1.修改Employee类,添加Department类型的属性department,它们之间的关系为多对一的关系 package com.hibernate.demo.bean; public class Employee { private Integer empId; private String empName; private Departm
#视图/*含义:虚拟表,和普通表一样使用mysql5.1版本出现的新特性,是通过表动态生成的数据 比如:舞蹈班和普通班级的对比 创建语法的关键字 是否实际占用物理空间 使用 视图 create view 只是保存了sql逻辑 增删改查,只是一般不能增删改 表 create table 保存了数据 增删改查 */ #案例
# sql99语法 /* 99语法: select 查询列表 from 表1 别名 (连接类型) join 表2 别名 (连接类型) on 连接条件 WHERE 筛选条件 GROUP BY having 限制分组后的内容 ORDER BY 92语法 select 查询列表 from 表1 别名,表2 别名 WH
#条件查询 /* select 查询列表 from 表名 where 筛选条件 ; 顺序: from表名-> 筛选 -> select 字段 */ # 条件运算符 # > < = != (<>) >= <= # 逻辑运算符 # && || ^ (AND,OR,NOT) # 模糊查询 # LIKE %,_ ,escape # BEWTEEN AND 包含边界,顺序不可颠倒 #
mysql-sq199语法 语法 select 查询列表 from 表1 别名 【连接类型】 join 表2 别名 on 连接条件 【where 筛选条件】
等值连接 三个表之间的连接: select e.employee_id,e.department_id,d.department_name,l.city from employees e,departments d ,locations l where e.department_id = d.department_id and l.location_id = d.location_id; EMPLOYEE_ID DEPARTMENT_ID DEPARTMENT_NAME
对象映射关系分为单向关系和双向关系,单向关系只在一方对象上存在对方对象,双向关系是在双方对象上存在彼此对象。 一、单向关系 public class Department implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer departm
窗口函数的定义引用一个大佬的定义: a window function calculates a return value for every input row of a table based on a group of rows。窗口函数与与其他函数的区别: 普通函数: 作用于每一条记录,计算出一个新列(记录数不变); 聚合函数: 作用于一组记录(全部数据按