IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 京淘项目前的知识点 -> 正文阅读

[Java知识库]京淘项目前的知识点

版本控制:
记录文件的所有历史变化
错误恢复到某个历史的版本
多人协作开发编辑同一个文件
实现功能差异版本
lombok作用:(自动生成下列方法)
数据库:数据库 表 字段对应的值 user表
实体对象pojo:用来封装数据库中的数据user类
实体对象方法:Get/Set/toString/无参构造/含参构造/equals/hashcode

spring的核心:开箱即用
启动项:springboot为整合第三方框架写了启动项的jar包文件,其中官网已经将所有的配置信息/所需要的jar包文件天前测试并且自定义
maven依赖的传递性:maven中的jar包是有依赖传递性
依赖性实现的步骤:
当maven开始解析项目的pom.xml文件时,根据依赖的坐标,找到指定的jar包文件之后添加依赖
之后扫描当前文件中的xxx.pom.xml文件
扫描pom.xml文件中的依赖信息dependency
根据dependency的坐标,重复执行上述操作,直到所有的依赖都添加完成
SHA1:一种密码散列函数
网络数据传输一般都需要进行加密处理.maven中采用SHA1数字签名的加密算法,保证数据传递的有效性
关于hash说明
问题1: 常见hashcode值 有多少位16进制数组成??? 8位
问题2: 8位16进制数,有多少种排列组合? 2^32种
00000000-FFFFFFFF
问题3: 相同数据进行hash(算法相同),问题: 值是否相同? 必定相同
问题4: 不同数据进行hash(算法相同),问题: 值是否相同? 可能相同 hash碰撞
问题5: 一个数据1kb, 一个数据ITB 问: hash计算的速度谁快? “一样快” hash本质
springboot的高级用法:
1.关于配置文件的说明:
pro文件的说明:pro文件的语法:key=value 特别注意不要有空格
字符集编码:程序读取文件时默认采用的IOS-8859-1编码,
弊端:所有的key都必须写完整,不能缩进
yml文件的说明:yml文件语法:数据结构:key-value结构
写法:key: (空格)value
层级代码结构:注意缩进
字符集:文件读取,默认采用utf8编码,可以写中文
环境分割
由于配置文件数量众多,如果每次修改则带来诸多不便,所以可以采用环境分割
实体对象的要求:
类名一般与表名关联
属性名称一般与字段名关联
pojo中的属性类型必须为引用类型(包装类型)
实体对象必须有get/set方法
一般实体对象要实现序列化接口,原因:数据可能跨平台(跨服务)传输,必须序列化
mybatis(持久层框架)
ORM思想:对象关系映射,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换
常规的JDBC弊端:无论如何执行都必须获取数据库的链接,连接池c3p0 druid hk链接池
操作sql语句的时候,步骤繁琐,不便于学习记忆
资源必须手动关闭
优点:操作数据库最快的方式就是JDBC,协议tcp
mybatis是一个优秀的持久层框架,基于ORM设计思想,事项了以对象的方式操作数据库
mybatis的调用流程
在这里插入图片描述
mybatis的优化:
1、 关于mybatis核心配置文件的顺序
The content of element type “configuration” must match
“(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,
reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)”.
2、mybatis简化-别名包
三种方式:别名映射,别名包,别名的注解定义
3、mybatis简化-sql标签
业务说明:sql片段则可能重复,如果简化sql语句则可以使用sql标签
用法:
说明:优点:使用sql标签可以省去xml文件的大小
代码的结构相对简单
缺点:sql只能抽取公共的sql语句,局限性较大
如果大量使用sql标签,则代码的可读性差
4、mybatis-动态sql
if-where用法:
业务需求:根据user对象查询数据,要求根据对象中不为null的属性充当where条件实现动态的查询
set标签
说明,去除set条件中多余的,号
choose when otherwise标签
业务需求:根据条件实现数据的查询,如果存在name则按照name查询,否则按照sex查询
resultType与resultMap的用法
resultType说明:
当结果集中的字段名称没如果与属性名称一致时才会实现自动的数据封装
resultMap说明:
当结果集中的字段名称,与对象中的属性不一致时,可以使用resultMap实现自定义的封装
总结:
1、如果遇到多值传参,一般封装为map集合
2、mybatis-config.xml文件的配置顺序是有序的,不能随意改动
3、别名的写法:别名标签,别名包,注解
4、sql标签将公共的sql进行抽取 铜鼓osql变迁进行定义
5、动态sql标签:where-if/ set/ choose when
6、resultmap用法:将公共的sql进行抽取 通过sql标签进行定义
7、resultType:单表查询时/属性与字段一样时
8、关联关系的用法 一对一 一对多
mybatis的补充
1.参数取值特殊说明
形参/实参 参数传递的是值,和名称无关
resultMap的简化 当开启驼峰映射规则时,可以自动映射,则使用resultType
如果mybatis传递的参数只有一个,mybatis则是利用下标取值,如意名称任意#{xxxx},但是一般需要注意规范
2、代理对象
常见动态代理
jdk动态代理:
特点:
要求被代理者必须实现接口
jdk代理是jdk默认提供的
CGLIB动态代理
特点:
不管代理者是否有接口,都可以为其创建代理对象,代理对象是目标对象的子类
cglib需要手动导入jar包
spring为了创建代理对象方便,自身自动调价cglib的依赖项
三大框架的整合
框架概述:spring框架:
spring为了团队开发将复杂的框架进行整合,使得程序从控制到调用浑然一体,以一种统一的方式进行调用
spring框架的核心机制
1、IOC
控制反转:将对象创建的权利交给spring容器管理,由spring容器管理对象的声明周期
DI
依赖注入:创建对象时,如果该对象中有需要依赖的属性,spring负者为属性赋值
2、AOP面向切面编程
springMVC
说明:该框架主要的作用,接收用户的请求,之后完成业务处理最终返回响应给用户
框架之间的调用关系:

编辑核心配置-application.xml
1.数据源配置:
链接写法:
serverTime=GMT%2B8 定义时区 东八区
userUnicode=true&characterEncoding=utf8开启使用Unicode编码,并且指定编码集为utf-8
autoReconnect=true 断线是否重新链接
&allowMultiQueries=true是否允许批量操作
RestFul实现参数传递
REST指的是一组架构约束条件和原则,满足这些约束条件和原则的应用层序伙设计就是restFul
RESTFUL特点包括:
1、每一个URI代表1种资源;
2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
3、通过操作资源的表现形式来操作资源;
4、资源的表现形式是XML或者HTML;
5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。 [1]
springMVC参数传值:
前端控制器:主要负者用户请求的接收,以及后端业务的处理
在这里插入图片描述
Servlet
什么是servlet?
Servlet是java Servlet的简称,称为小服务程序或者服务连接器,用java编写的服务器端程序,具有独立于平台和协议的 特性,主要功能在于交互式地浏览和生成数据,生成动态web内容
概括:Servlet是java后台程序与用户交互的机制(媒介)

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 12:42:26  更:2021-10-27 12:43:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:40:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码