java_Web
开始进入学习java web部分
一、Socket技术
字节流传输
使用bytes[] 封装字节进行传输数据文件传输
浏览器访问
使用http协议进行访问
二、MySQL数据库
环境
Phpstydy+navicat数据库使用
注释
-- # /* ..... */控制窗口
配置bat自动进入数据库cd E:\phpstudy_pro\Extensions\MySQL5.7.26\bin
e:
mysql -uroot -padminn #pause
在命令行中使用SQL语句需要注意分号 ;
- SQL语句
DQL 数据查询语言
select * from where创建数据库
create database study1;默认字符集不是utf8,需要带属性创建
删除数据库
drop database study1;带指定utf8字符集创建数据库
create database study1 DEFAULT CHARSET utf8 COLLATE utd8_general_ci;创建表
SQL数据类型
字符串- char 长度固定为n 字符不够长则填充空格
- varchar 任意长度n且不固定 不能超过n 不会填充空格
数字 - smallint 存储小整数 范围在(-32768,32767)
- int (-2147483648,2147483647)
- bigint
- float 浮点型
- double 双浮点型
日期 - date 存储日期
- time 时间
- year 年份
- datetime 混合存储日期+时间
修改表
use study1
alter table teacher add sex enum('男','女','未知') not null default '男';


删除表
create table test(id int primary key);
drop table test ;

DML 数据操纵语言 insert update delete
- 插入数据
insert into 表名 values (数字,'字符','字符');
insert into 表名(列名1,列名2,列名3) values (数字,'字符','字符');
- 修改数据
update 表明 set 列名='xxx' where 列名='xxx'; - 删除数据
delete from 表名
delete from 表名 where 列名=xxx - 查询数据
DQL
- 单表查询
select * from 表名;
select 列名 from 表名;- 去重 distinct
select distinct 列名 from 表名; - 条件查询(in/not in)
select * from 表名 where 列名=xxx;
select * from 表名 where 列名 not in (字段1,字段2); - 模糊查询 (支持通配符)
包含xxx的内容
select * from 表名 where 列名 like `xxx`;
不包含xxx的内容
select * from 表名 where 列名 not like `xxx`; - 多条件查询(and/or/not)
select * from 表名 where 列名1 not like `xxx` and 列名2 like 'zzz';
select * from 表名 where 列名1 not like `xxx` or 列名2 like 'zzz';
- 去重 distinct
- 排序查询(asc/desc) 默认为空==asc正序
select * from 表名 order by 列名 desc;
select * from 表名 order by 列名1, 列名2 desc;
// 先按照前面的规则排序 再按照后面的规则继续排
select * from 表名 order by 列名1 desc, 列名2 asc; - 聚集函数
select count(distinct 列名) from 表名 where 条件//统计条件下的列名的行数
select count(*) from 表名;// 统计有多少行数据
count(*)统计所有信息
count(distinct 列名) 去重统计
sum() // 求和 需要数字类型
avg() // 求平均值 需要是数字类型
max() //最大值
min() //最小值 - 分组查询 group by
select count(*) from 表名 group by 列名// 根据列名统计总数

select count(*) from 表名 group by 列名 having 列名 = ''//统计 根据列名包含字段的方式组排

select count(*),sex from 表名 group by 列名 having 列名 = ''

- 分页 limit(默认为前开后闭)
select * from 表名 limit (x,x1] - 多表查询
// 笛卡尔积
select * from 表1,表2
//对自己查询笛卡尔积
select * from 表1 别名1,表1 别名2
//对自己取笛卡尔积例子
select * from student stu1,student stu2;

// 只要sid相同的部分
select * from student stu1,student stu2 where stu1.sid=stu2.sid;

// inner join 内连接 返回交集
//表名 inner join teach on 条件
// 意思是根据 外键表 查找学生对应的老师
select * from student inner join teach on student.sid = teach.sid;

// 左连接 显示完整的左边和交集
select *from student left join teach on student.sid = teach.sid;

// 右连接 显示完整的右边和交集
// 联系三张表

- 单表查询
- 插入数据
DDL 数据库定义 描述数据库中存储现实世界实体的语言,如何创建数据库,创建表
- 1
DCL 数据库控制语言 grant deny revoke 只有 sysadmin,dbcreater, db_owner, db_securityadmin
- 1
3. 设计数据库
- 规范
- 数据库的每一列都是不可分割的基本数据项
- 表中必须存在主键,其他属性必须完全依赖主键
- 满足上一条的前提下,所有属性都不传递依赖于主键
- BCNF
- 初步设计
功能 账号密码 权限 crud 老师 登录,上传,提交,修改,删除 学院 登录,审阅,提交教学处,退回 教学处 登录,审阅,提交打印,退回 打印部 打印
2023年2月18日
mybatis是利用java的反射机制对jdbc进行深层封装
2023年2月19日
lombok注解生成映射中:
static没有setter和getter方法
如果强制生成 则出现 静态方法 getter和setter用法相同
public static void setName(String name){ Student.name = name; }
final没有setter方法
打印println是调用toString方法返回的内容
2023年2月21日
- lombok (辣椒)
注解一类- 常用
- @Data
- 常用
- mybatis
- mybatis-config.xml
- sqlSessionFactoryBuilder

每个session互相隔离,SQL session可以创建多个
2023年2月28日
- mybatis注解开发
- 问题 报错 mapper is not known to the MapperRegistry.

- 问题原因 在工具类MybatisUtil中未修改映射路径

- 问题 报错 mapper is not known to the MapperRegistry.
如果存在多个不一样的构造时,需要用到@Param指定参数位置,当遇到基本类型和对象类型同时存在时,需要在接收的sql中详细指定引参数所属的引用类型
2023年3月2日
mapper动态代理机制 完全看不懂
java_Web的更多相关文章
- Java_web 乱码和一些地址输错的问题(原创)
1.首先记录下java_web的发布问题:安装好了Tomcat和MyEclipse后,从MyEcilpe中自动发布,不需要手动打开Tomcat 2.ipmort别人的程序后,先部署,后run后拉你的T ...
- Java_Web三大框架之Struts2
今天正式接触Java_Web三大框架之Struts2框架.对于初学者来说,先来了解什么是框架技术: 一.“框架技术”帮我们更快更好地构建程序: 1.是一个应用程序的半成品 2.提供可重用的公共结构 3 ...
- Java_web项目中在Java文件里面通过类装载器对资源文件读取
承接上一节:在eclipse完成对Java_web项目里面资源文件的读取 我们首先在src目录下创建一个资源文件db.properties 内容如下: url=127.0.0.1 name=root ...
- 在eclipse完成对Java_web项目里面资源文件的读取
Java_web项目的资源文件一般有两种: 一种是存放数据之间有联系的文件,使用xml文件 另一种是存放数据之间没有联系的文件,使用properties文件 这里我们对properties文件读写做示 ...
- 使用eclipse写第一个Java_web的hello_world项目
1.先创建一个Java_web项目 如果你没有下载过Tomcat服务器,不会配置,建议看一下我得这一篇博客:https://www.cnblogs.com/kongbursi-2292702937/p ...
- 使用InstallAnywhere工具打包Java_Web程序
一.准备工作 1. 下载InstallAnywhere,并安装: 2. 下载解压版jdk1.7(示例为jdk1.7.0_75): 3. 下载解压版tomcat7.0以上版本(示例 ...
- 001课-java_web开发入门
一.Tomcat服务器常见启动问题:(1).Java_home环境变量,由于tomcat服务器的bin目录中的一些jar文件必须使用到java类库,所以必须先配置Java_home环境变量.(2).端 ...
- java_WEB开发 防刷新
客户端处理: 面对客户端我们可以使用Javascript脚本来解决,如下 1.重复刷新.重复提交 Ways One:设置一个变量,只允许提交一次. <script language=" ...
- 【转】java_web开发入门
转载地址:http://www.cnblogs.com/xiaoqv/archive/2011/12/10/2283348.html 一.Tomcat服务器常见启动问题:(1).Java_home环境 ...
- java_web用户的自动登录模块的实现
javaBean的代码 package bean; import java.io.Serializable; public class Admin implements Serializable{ / ...
随机推荐
- Linux 内核:利用of_函数读取设备树结点/属性信息
Linux 内核:利用of_函数读取设备树结点/属性信息 背景 设备树描述了设备的详细信息,这些信息包括数字类型的.字符串类型的.数组类型的,我们在编写驱动的时候需要获取到这些信息. Linux 内核 ...
- Linux内核中的static-key机制
# Linux内核中的static-key机制 背景 在移植某个TP时,发现频繁操作屏幕会导致i2c总线死掉.在跟踪代码的时候,我发现了这个static-key. 因此,学习一下这块的知识. refe ...
- QT学习:00 介绍
--- title: framework-cpp-qt-00-介绍 date: 2020-04-08 15:41:54 categories: tags: - c/c++ - qt --- 章节描述: ...
- 详解Web应用安全系列(5)敏感数据泄露漏洞
在最近几年,这是最常见的,最具影响力的攻击.这个领域最常见的漏洞是不对敏感数据进行加密.在数据加密过程中,常见的问题是不安全的密钥生成和管理以及使用弱密码算法,弱协议和弱密码.特别是使用弱的哈希算法来 ...
- mysql求同比环比
-- 参考:SQL计算月环比.月同比_路易吃泡面的博客-CSDN博客 -- mysql同比环比 drop table if EXISTS ordertable; create table ordert ...
- 在github开源市场如何高效寻找优秀开源项目
作为程序员,不论是开发还是学习,肯定会用到开源项目,那么怎么快速在开源网站找到这些项目呢? 常用的开源网站有:github 和 gitee github是全球最大的开源社区,今天就以github为例, ...
- 2024 暑假友谊赛 1 (7.13)zhaosang
A-A https://vjudge.net/contest/638765#problem/A 一开始贪心做不出来,后面发现是dp找到转移方程即可,01dp问题 代码如下 #include <b ...
- PHP现代化构建工具: 无需修改任何代码和扩展将你的ThinkPHP项目性能提高20倍
我要分享一个令人激动的黑科技:PRipple 使用这个项目能够在无需修改任何代码且无需第三方扩展的前提下,将你的 Laravel 项目性能提高 20 倍.他仅仅依赖于PHP原生的 pcntl/posi ...
- Fiddler+proxifier解决抓取不到客户端接口的问题
工作中偶尔会遇到Fiddler抓不到客户端接口问题,那么就要借助第三方工具proxifier来实现了: 下载地址: 原地址:链接: https://pan.baidu.com/s/1JPJ4cILEs ...
- JAVA课后谈1
1.课程中动手动脑的问题 在本次课堂实验中,我暴露出了很多问题,尤其是逻辑思维方面,不能很好的处理数理运算问题.在实际生活中客户的要求千变万化,而我们作为一个合格的程序设计者应该顺应其要求,尽可能的去 ...