摘要: 关联查询 自然连接:natural join 两张表的关键字段完全一致 内连接: inner join on select * from t1 inner join t2 on t1.字段 = t2.字段 左连接 left join on 全连接 full outer join 等值连接 selec 阅读全文
posted @ 2020-08-24 23:15 龙陌 阅读(128) 评论(0) 推荐(0)
摘要: 函数 转换函数 to_date('','') to_char(sysdate,'yyyy') 聚合函数 max() min() sum() avg() count() 分组 select 分组字段,聚合函数 from 表名 group by 字段 注意:聚合函数 过滤不满足条件的分组 having 阅读全文
posted @ 2020-08-24 23:14 龙陌 阅读(110) 评论(0) 推荐(0)
摘要: 三大范式 数据库设计遵守的三大原则 第一范式:列不可再分,保证每一列的原子性 第二范式:保证每一列的数据都与主键(联合主键)相关,而不是主键的一部分 所有的列都应该是实体对象的固有属性 第三范式:确保每列都与主键直接相关,而不是间接相关 阅读全文
posted @ 2020-08-24 22:58 龙陌 阅读(194) 评论(0) 推荐(0)
摘要: 主外键 主键:每条记录的唯一标识,可以是多个字段 外键:某张表的某个字段取值来自于另一张表的主键 主外键主要数据的完整性和合理性 删除时需要先删除外键所在表的 数据,比如先删除员工再删除部门 阅读全文
posted @ 2020-08-24 22:56 龙陌 阅读(171) 评论(0) 推荐(0)
摘要: 需求分析-分析客户的业务和数据处理请求 概要设计-ER图,以及项目的整体框架 数据库设计:需要什么表,表中需要什么字段 01.分析需求中的名词,针对名词创建表,java中针对这些名词创建类 实体表中的一条记录对应实体类中的一个对象 02. 分析实体的属性,我们需要存储什么样的信息,对应着Java类的 阅读全文
posted @ 2020-08-24 22:54 龙陌 阅读(341) 评论(0) 推荐(0)
摘要: 数据库事务 事务是数据库中最小的执行单元,通常包含一条或者多条sql语句 事务中包含的sql语句,要不全部执行成功提交,如果其中一条执行失败,那么全部都要回滚 事务的应用场景 金钱交易:转账 阅读全文
posted @ 2020-08-24 22:49 龙陌 阅读(141) 评论(0) 推荐(0)
摘要: 索引 数据库中的索引,index,类似于目录,可以帮助我们提高查询效率 当数据非常多,查询效率比较慢时,可以创建索引提高效率 索引一般添加在某一列上,尤其是常用于查询的字段 索引的创建 --添加索引 create index in_ename on emp(ename); 主键是默认的索引 阅读全文
posted @ 2020-08-24 22:46 龙陌 阅读(98) 评论(0) 推荐(0)
摘要: 视图 视图view实际上就是一张表或者多张表的预定义查询 把一个 非常复杂的查询动作化保存为一个视图对象,下次直接对视图进行查询,不需要在写之前复杂的sql语句了 视图本身不存储数据,数据来源于基表 删除视图时不影响基表中的数据 创建视图必须要有dba权限 --创建视图,只有dba才有创建视图权限g 阅读全文
posted @ 2020-08-24 22:37 龙陌 阅读(109) 评论(0) 推荐(0)
摘要: 数据库对象 数据库对象是数据库的组成成分,一般使用create创建、使用alter修改、使用drop删除 常用对象:用户、表、序列 阅读全文
posted @ 2020-08-24 22:35 龙陌 阅读(209) 评论(0) 推荐(0)
摘要: --使用了聚合函数后,不要再查询其他字段 select ename from emp where sal = (select max(sal) from emp); select ename from emp where sal > (select avg(sal) from emp); --分组操 阅读全文
posted @ 2020-08-24 22:33 龙陌 阅读(541) 评论(0) 推荐(0)
摘要: --日期函数 --加上指定月数,返回新的日期 select hiredate, add_months(hiredate, 3) from emp; --返回指定日期所在月的最后一天 select last_day(hiredate) from emp; --返回两个日期之间相隔的月数 select 阅读全文
posted @ 2020-08-24 22:29 龙陌 阅读(179) 评论(0) 推荐(0)
摘要: 先按照发工资排序,工资相同的按照入职日期排序 select ename,job,sal,hiredate from emp order by sal desc,hiredate desc; 查询10部门和20部门下员工信息 select * from emp where deptno =10 or 阅读全文
posted @ 2020-08-24 22:27 龙陌 阅读(113) 评论(0) 推荐(0)
摘要: 所有的约束都会被存入系统的数据字典中,当用户操作该表中的数据时,会自动检查这些约束 --oracle 5大约束 --not null、主键、check、unique、外键 非空约束 主键约束 条件约束 唯一约束 外键约束 阅读全文
posted @ 2020-08-24 21:53 龙陌 阅读(116) 评论(0) 推荐(0)
摘要: 数据类型 1、varchar2(length):字符串,最多可以存储4000个字符,Oracle提供。必须加小括号限制长度 varchar(length):字符串,是sql提供的 2、char(length):字符串,最大存储2000个字符 char(8),存储内容是‘Hello’ 但是真正被存储到 阅读全文
posted @ 2020-08-24 21:26 龙陌 阅读(136) 评论(0) 推荐(0)
摘要: sql语言 结构化查询语言:专门用于数据的存储、数据的更新及数据库管理等操作 目前流行的数据库都支持sql语言 分类: 数据定义语言(DDL):create、drop、alter 数据操作语言(DML):insert、delete、update 数据查询语言(DQL):select、order by 阅读全文
posted @ 2020-08-24 21:19 龙陌 阅读(116) 评论(0) 推荐(0)
摘要: 数据库的分类: 不同数据库是按照不同数据结构来联系和组织的,依次数据库可以分为三类: 关系型数据库: 网状型数据库: 层次型数据库: oracle\mysql等都是以二维表的形式存储数据,属于关系型数据库 阅读全文
posted @ 2020-08-24 19:22 龙陌 阅读(675) 评论(0) 推荐(0)
摘要: Java类中的方法 public 返回值类型 方法名 (参数列表){ //方法体 } 》方法三要素 》返回值类型 》方法名 》参数列表:指的是()必须要有 》返回值 》方法的运行结果是展示还是去其他地方继续使用,进行后续操作的话,那么要给方法设置返回值 》返回值可以是任意类型,8种基本数据类型,引用 阅读全文
posted @ 2020-08-24 17:58 龙陌 阅读(997) 评论(0) 推荐(0)
摘要: Java内存分配 程序运行时,内存可以分成四块 一块用来装代码,就是编译后的内容 一块用来装静态的内容static 一块是栈,stack,用来装变量的,就是我们声明的各种类型的变量,也就是赋值号左边的内容 一块是堆,heap,装的是new出来的内容 基本数据类型:变量和值存储在栈中 引用数据类型:变 阅读全文
posted @ 2020-08-24 17:54 龙陌 阅读(176) 评论(0) 推荐(0)
摘要: 成员变量和局部变量 直接定义在类中的属性,我们称之为成员变量 在成员方法或者main中定义的变量称之为局部变量 只在定义它的大括号中生效 成员变量都有初始值 局部变量没有初始值,必须要手动赋值后,才能正常使用 当成员变量和局部变量同名时,局部变量的优先级更高 在不同的方法中,可以有重名的局部变量 阅读全文
posted @ 2020-08-24 17:44 龙陌 阅读(161) 评论(0) 推荐(0)
摘要: 数组的使用注意 1、数组的下标是length-1,如果超过最大下标,将会出现数组下标越界异常 2、数组只能存放同类型的数据 3、数组的长度一旦定义,无法更改 4、数组的初始值 数组是引用数据类型,创建好后,每个元素都有初始值 byte,short,int,long:初值为0 float,double 阅读全文
posted @ 2020-08-24 17:05 龙陌 阅读(406) 评论(0) 推荐(0)
摘要: 布尔类型的使用 》可以用来存储比较表达式结果 int zhangScore; Scanner input = new Scanner(System.in); System.out.println("请输入张三的成绩:"); zhangScore = input.nextInt(); //判断张三是否 阅读全文
posted @ 2020-08-24 16:51 龙陌 阅读(139) 评论(0) 推荐(0)
摘要: 引用数据类型 String 数组 使用class定义的对象 对象也是变量,变量的类型就是它的类 接口 阅读全文
posted @ 2020-08-24 16:49 龙陌 阅读(157) 评论(0) 推荐(0)
摘要: 类型转换 》自动类型转换 (自动类型提升) int num4 = 4; double num5 = num4; int num6 = 6; double num7 = 3.0; double num8 = num6 / num7; 》小范围的数据往大范围的数据转换时,可以自动转换,还需要保证类型兼容 阅读全文
posted @ 2020-08-24 16:47 龙陌 阅读(129) 评论(0) 推荐(0)
摘要: 变量的定义(即根据数据类型在内存申请空间) 》声明变量的语法: 数据类型 变量名 = 变量值; 数据类型 变量名; 变量名 = 变量值; 》变量名的定义 》首字母: 使用字母或者是下划线或者是$,不可以是数字 其他位置:可以是字母、数字、下划线、$ 》不可以是java关键字 》变量名命名规范 》首字 阅读全文
posted @ 2020-08-24 16:43 龙陌 阅读(323) 评论(0) 推荐(0)
摘要: 内存存储数据: 》内存可以看成旅馆,里面有很多房间 》内存存储数据其实就是在内存中申请一块合适的空间存储数 》像这种存在内存中的数据,我们在程序中称之为变量 变量 》数据存储之后,需要再次找出以进行其他处理 》内存中每块空间都有一个空间号,也就是一个地址,地址一般是数字加字母的组合,不好记忆。 》我 阅读全文
posted @ 2020-08-24 16:27 龙陌 阅读(183) 评论(0) 推荐(0)
摘要: 》如何在java程序中保存数据? 》java真正的运行环境是虚拟机,虚拟机其实是在电脑的内存中开辟了一个空间,然后虚拟了一台机器 》程序在内存中运行,那么程序所要的数据也是需要在内存中存储的 》内存存储数据: 》内存可以看成旅馆,里面有很多房间 》内存存储数据其实就是在内存中申请一块合适的空间存储数 阅读全文
posted @ 2020-08-24 16:23 龙陌 阅读(584) 评论(0) 推荐(0)
摘要: 编译java程序; 包括javac命令:用于运行java程序 》​ 》jvm本身是不认识java语言的​ 》jvm只识别0101的二进制​ 》编译过程就是将java文件变为二进制文件的过程​ 》编译命令​ 》javac HelloWorld.java​ 》编译完成后,就会生成class文件 阅读全文
posted @ 2020-08-24 16:15 龙陌 阅读(186) 评论(0) 推荐(0)
摘要: java语言特性​ 1、跨平台,可以运行在不同的操作系统中,因为它真正依赖的是JVM​ 2、垃圾自动回收机制​ 3、面向对象 oop 阅读全文
posted @ 2020-08-24 16:14 龙陌 阅读(151) 评论(0) 推荐(0)
摘要: jdk ​ 1、java development toolit java开发工具包​ 提供了java开发环境和运行环境​ 开发环境中包含java命令:编译java程序;包括javac命令:用于运行java程序​ 运行环境:java程序所依赖的环境​ 2、JRE:java run enviroment 阅读全文
posted @ 2020-08-24 16:11 龙陌 阅读(140) 评论(0) 推荐(0)
摘要: 超链接样式属性 》未被访问时,访问过之后,鼠标经过,鼠标点击 》设置样式 <style> a:link{ /*还未访问时的样式*/ color:green; } a:visited{ /*访问过后的状态*/ color: red; } a:hover{/*鼠标经过超链接*/ color: saddl 阅读全文
posted @ 2020-08-24 16:06 龙陌 阅读(282) 评论(0) 推荐(0)
摘要: 背景样式 设置全屏背景 背景颜色:<body bgcolor="red"></body> 背景图片:<body background="lq.jpg"></body> 如果图片大小不合适,则画面显示存在问题 背景样式: width: 600px; height: 768px; background- 阅读全文
posted @ 2020-08-24 16:03 龙陌 阅读(144) 评论(0) 推荐(0)
摘要: 表格合并操作 》行合并:上下几个单元格合并 》列合并:左右几个单元格合并 》colspan:用于列合并,几个单元格合并,就设成几 》给最左边单元格设置该属性 》被合并单元格代码直接删除 <div align="center" > <table border="1px" width="200" ali 阅读全文
posted @ 2020-08-24 16:00 龙陌 阅读(181) 评论(0) 推荐(0)
摘要: 表单 》经常用的登录注册或搜索引擎等功能,我们需要填写信息,点击确认,一旦确认之后这些信息会被发送到另一台电脑进行验证,这电脑即服务器 》登录、注册就是在和服务器交互 》需要和服务器交互的页面,都需要表单实现 》form就是表单 》表单元素:输入框或按钮 》文本框、密码框、单选框、下拉框 》表单标签 阅读全文
posted @ 2020-08-24 15:57 龙陌 阅读(167) 评论(0) 推荐(0)
摘要: 超链接 》通过点击文件或图片进行的跳转操作 <a href="目标地址” target=“目标位置”>文字或者图片</a> 》href属性:要跳转的目标地址,可以是项目内部其他页面,也可以是外部的其他网站,比如百度 》target属性:新页面的显示位置 可取的值有: 》_blank:在新的空白页显示 阅读全文
posted @ 2020-08-24 15:55 龙陌 阅读(286) 评论(0) 推荐(0)
摘要: 行级标签:在行内显示,只占据元素本身的大小的位置 常用行级标签: 1、图片标签 <img src="图片位置及图片名称" height="高度" width="宽度“ /> 》src:一般取值都是相对路径,就是相对于当前这个html文档来说,图片在哪个地方 01 html文件和图片在同级目录下 》s 阅读全文
posted @ 2020-08-24 15:53 龙陌 阅读(429) 评论(0) 推荐(0)
摘要: 块级标签:在页面中显示为块状,前后带换行 常用的块级标签 1、标题标签 <h1>...<h6> h1文字最大 h6文字最小 <h1>这是一级标题</h1> < <h2>这是二级标题</h2> <h3>这是三级标题</h3> <h4>这是四级标题</h4> <h5>这是五级标题</h5> <h6>这是 阅读全文
posted @ 2020-08-24 15:42 龙陌 阅读(2807) 评论(0) 推荐(0)
摘要: 动态SQL 用户对查询条件的输入,存在不确定性,全不输,输全部,输一个,输多个,并且是模糊查询 如果是JDBC开发,需要对用户的输入进行判断并且要拼接sql,麻烦 mybatis提供了动态sql,来解决对各种sql的判断拼接问题 1.if条件判断 语法: <if test="条件"><if> 如果t 阅读全文
posted @ 2020-08-24 15:40 龙陌 阅读(357) 评论(0) 推荐(0)
摘要: #{}与${}的区别 #{} 是预编译的方式,相当于jdbc的占位符PrepareStatement, 一个#{}就是一个占位符 mybatis在为#{}设置值时,会加引号 ${} 模糊查询时不用 直接拼接的方式,不对数值做预编译 mybatis在为${}设置值时,不加引号 存在sql注入的现象 只 阅读全文
posted @ 2020-08-24 14:22 龙陌 阅读(1685) 评论(0) 推荐(1)
摘要: Mybatis执行原理 1.mybatis要加载配置文件,包括主配置文件和映射文件 主配置文件里配置了数据源,事务管理,包括注册映射文件 映射文件就是配置sql信息,并和某个dao接口映射 2.利用配置文件生成SqlSessionFactory 3。获取会话,利用sqlSession操作数据库 会有 阅读全文
posted @ 2020-08-24 14:07 龙陌 阅读(259) 评论(0) 推荐(0)
摘要: mybatis使用回顾 体会: Java代码和sql完全分离,解决了硬编码现象 参数入参自动化了 结果集的处理自动化了 程序中没有了dao接口的实现类 dao接口的实现有mybatis的映射文件提供 使用过程: 把mybatis加入内存,代表mybatis的是它的配置文件,实际上是加载mybatis 阅读全文
posted @ 2020-08-24 13:58 龙陌 阅读(118) 评论(0) 推荐(0)