摘要: 初始化块 什么是初始化块 》初始化块是java类中出现的第四类成员(成员变量、成员方法、构造方法) 》其功能与构造方法非常类似,可以对java进行初始化操作 //定义初始化块 { System.out.println("Person类的第一个初始化块:所有person对象都有自己的名字"); } { 阅读全文
posted @ 2020-08-24 23:58 龙陌 阅读(585) 评论(0) 推荐(0)
摘要: 封装 为什么使用封装 我们在类中定义的成员变量可以直接通过对象名.成员变量名的形式访问 对于不合理的值无法做出限制,或者是限制比较麻烦 对于这种设计缺陷我们使用封装解决 封装定义 面向对象的三大特征:封装、继承、多态 隐藏属性或者方法的实现细节,不允许外部程序的直接访问,而是通过该类提供的方法来实现 阅读全文
posted @ 2020-08-24 23:48 龙陌 阅读(178) 评论(0) 推荐(0)
摘要: this 用法一: public Dog(String name, int health, String type) { this.name = name; this.health = health; this.type = type; } 用在构造方法中或其他给属性赋值的方法中,用于区分成员变量和 阅读全文
posted @ 2020-08-24 23:45 龙陌 阅读(223) 评论(0) 推荐(0)
摘要: fanal代表最终的,可以修饰类、方法修饰变量 修饰类,代表类不可被继承 修饰方法,代表方法不可被重写 修饰变量,代表变量不可以被修改值,只能初始化一次 修饰基本数据类型,值不可改变 final int num = 10; num =20;//报错 修饰引用数据类型,堆中的内容可以修改,但是栈中的地 阅读全文
posted @ 2020-08-24 23:43 龙陌 阅读(90) 评论(0) 推荐(0)
摘要: static 静态的 public class Student { String name; double java; double sql; //以下成员不属于任何一个对象,而是属于整个类,随着类的加载而加载 static double avg_java; static double avg_sq 阅读全文
posted @ 2020-08-24 23:42 龙陌 阅读(477) 评论(0) 推荐(0)
摘要: 方法的重载 overload 概念:在同一个类中有多个同名方法 一个类中有多个构造方法,就是构造方法的重载 特点: 1.同一个类中方法名相同 2.参数列表不同,指参数个数或参数类型不同,和参数名称无关 3.和返回值无关,和访问修饰符无关 如果参数列表相同仅返回值不同是不允许的,有悖重载的定义; 如果 阅读全文
posted @ 2020-08-24 23:39 龙陌 阅读(144) 评论(0) 推荐(0)
摘要: 构造方法 是否可以在创建对象的同时直接给属性赋值 利用构造方法实现该功能 构造方法的主要作用 01.构造对象 02.给对象的属性赋初值 示例 //构造方法 public Dog(String dname,int dhealth,String dtype){ name =dname; health = 阅读全文
posted @ 2020-08-24 23:34 龙陌 阅读(203) 评论(0) 推荐(0)
摘要: 类和对象 如何描述一件事物 自我介绍 任何意见事务都可以通过属性和行为来定义 所有的对象都可以通过属性和行为来定义,也就是通过属性和方法定义 类的概念 类是具有相同属性和行为(方法)的一组对象的集合 在程序中的体现 针对某一个事物创建类,在类中指定事物的关键信息 定义属性和方法 针对类去创建对象,对 阅读全文
posted @ 2020-08-24 23:25 龙陌 阅读(96) 评论(0) 推荐(0)
摘要: 关联查询 自然连接: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 龙陌 阅读(110) 评论(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 龙陌 阅读(180) 评论(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 龙陌 阅读(137) 评论(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 龙陌 阅读(177) 评论(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 龙陌 阅读(182) 评论(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)
摘要: 框架的本质 1.借力省力,完成一些通用的事情, 2.框架是用来解决某类问题的最佳实践 本质是被人开发好的一个半成品软件,打成一系列jar包 所有框架的使用方法都是一样的 导包--写配置文件-用框架(把框架加载到内存,即框架的配置文件) 阅读全文
posted @ 2020-08-24 13:56 龙陌 阅读(912) 评论(0) 推荐(0)
摘要: 开发顺序 需求分析 原型设计 系统设计(技术选型:客户的资金、软硬件环境,并非、数据库等) 概要设计 详细设计 数据库设计 建表 开发环境搭建 创建project 编码测试 model:实体类 util:数据库工具类 dao:实体类的接口及实现类 service:业务逻辑层 servlet:控制层 阅读全文
posted @ 2020-08-24 13:50 龙陌 阅读(160) 评论(0) 推荐(0)
摘要: JDBC开发的困扰 1.数据库的四大参数(驱动,数据库url,账户,密码),写在Java类中,一旦更换数据库或者用户名密码, Java类需要重新编译 2.复杂的SQL,需要对参数进行判断,并且需要拼接 3.设置占位符的话,需要很清楚占位符的数据类型和顺序 4.无论是SQL还是占位符的设置,都在Jav 阅读全文
posted @ 2020-08-24 13:48 龙陌 阅读(114) 评论(0) 推荐(0)
摘要: --查询的基本语法 select * from emp; select * from emp where empno = 7369 order by sal desc --oracle常用函数 --Oracle提供了一些可以执行特定操作的方法 --字符函数:对字符串类型的字段进行处理 select 阅读全文
posted @ 2020-08-24 11:40 龙陌 阅读(861) 评论(0) 推荐(0)
摘要: 上传下载 1、表单要求 encodeType必须为multpart/form-data 不可是application/x-www-form-urlencoded 无论是表单直接提交还是ajax的请求,请求类型必须为post 文件项的name属性必须和处理器方法的参数名称一致 <input type= 阅读全文
posted @ 2020-08-24 11:03 龙陌 阅读(220) 评论(0) 推荐(0)
摘要: SpringMVC重点组件解析 》前端控制器(DispatcherServlet):接收请求,响应结果,相当于电脑的CPU。 》处理器映射器(HandlerMapping):根据URL去查找处理器(Controller中的具体方法) 》处理器(Handler):(需要程序员去写代码处理逻辑的) 》处 阅读全文
posted @ 2020-08-24 10:59 龙陌 阅读(188) 评论(0) 推荐(0)
摘要: Web请求报400 、406、415错误演示及解析 400: 请求发生错误 请求中的参数封装错误,到后台映射不出来 解决办法: 前后对照排查错误 406: 在处理Ajax请求时,如果返回的是json数据,在底层就不再是key=value,而是json格式的数据,application/json 如果 阅读全文
posted @ 2020-08-24 10:53 龙陌 阅读(966) 评论(0) 推荐(0)
摘要: SpringMVC映射为/和/*的区别: 在web。xml中配置springmvc,即配置一个超级servlet 映射为/ 那么.jsp请求将不被接收 映射为/* 所有的请求都被拦截,只有全局过滤器才这样配置 阅读全文
posted @ 2020-08-24 10:46 龙陌 阅读(381) 评论(0) 推荐(0)
摘要: MVC思想 M:model 是存放数据以及对数据的处理 包括:实体类也称为领域模型 还包括:持久层组件、业务逻辑层组件,这个组件是用来处理数据的 V:view 视图组件 界面,与用户进行交互,显示数据,收集数据 HTML、jsp、beetl视图, C:Controller控制器组件 接收请求,并调用 阅读全文
posted @ 2020-08-24 10:44 龙陌 阅读(102) 评论(0) 推荐(0)
摘要: SpringMVC 》SpringMVC是什么是spring的组件,用来对web开发进行封装,使得web开发便捷高效 》使用体验 1.一个普通的类可以接受请求 2.类的方法来处理请求 3.请求参数自动封装 4.方法的返回值可以是页面片段也可以是逻辑视图,普通字符串 》使用回顾 1.通过浏览器发送请求 阅读全文
posted @ 2020-08-24 10:39 龙陌 阅读(206) 评论(0) 推荐(0)
摘要: spring的核心思想之控制反转IOC(inversion of control) 控制什么,什么反转 原来:程序中的资源,被应用程序控制,用到要自己创建 控制的是资源的创建 反转 资源的创建权,从应用程序中反转到了spring手中 直观来看,程序中对象的使用不再通过new关键字了 而是在程序运行的 阅读全文
posted @ 2020-08-24 09:40 龙陌 阅读(355) 评论(0) 推荐(0)