自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 CRM权限管理

权限管理RBAC基本概念 RBAC是基于角色的访问控制( Role-Based Access Control )在RBAC中,权限与角色相关联,用户通过扮演适当的角色从而得到这些角色的权限。 这样管理都是层级相互依赖的,权限赋予给角色,角色又赋予用户,这样的权限设计很清楚,管理起来很方便。 RBAC授权实际上是Who 、 What 、 How三元组之间的关系,也就是Who对What进行How的操作,简单说明就是谁对什么资源做了怎样的操作。 功能实现上这里划分为三大模块: 用户管理、角色管理、..

2022-05-08 17:59:04 579

原创 CRM营销管理

营销机会管理功能实现 1.准备工作 生成代码 通过mybatis-generator生成代码。能够生成JavaBean对象、mapper映射文件以及mapper接口。 IDEA创建MYSQL链接 2.营销机会数据查询 1.后端代码实现 layui框架通过表格展示后端表数据 1.查询条件 创建query包,新建SaleChanceQuery.java查询类并且继承BaseQuery,设置对应的查询条件。 2.设置SQL 在由逆向工程下生成的SaleCh..

2022-05-06 20:42:24 520

原创 CRM用户管理

CRM CRM系统即客户关系管理系统, 顾名思义就是管理公司与客户之间的关系。 是一种以"客户关系一对一理论"为基础,旨在改善企业与客户之间关系的新型管理机制。 根据客户的类型不同,CRM可以分为B to B CRM及B to C CRM。 B to B CRM中管理的客户是企业客户,而B to C CRM管理的客户则是个人客户。 根据CRM管理侧重点不同又分为操作性和分析型CRM。大部分CRM为操作型CRM,支持CRM的日常作业流程的每个环节,而分析型CRM则偏重于数据分析。 企业项目开发流程..

2022-05-05 21:28:21 565

原创 Spring Boot

1. Spring 5.X应用零配置开发Spring 框架从5.x版本推荐使用注解形式来对java应用程序进行开发与配置,并且可以完全替代原始的XML+注解形式的开发,在使用注解形式进行项目开发与环境配置时,Spring框架提供了针对环境配置与业务bean开发相关注解。 注解 声明Bean注解 @Component: 组件没有明确规定其角色,作用在类级别上声明当前类为一个业务组件,被Spring Ioc容器维护 。 @Service: 在业务逻辑层(Service 层)类级别进行声明 。

2022-04-29 21:05:59 651

原创 Spring MVC

1. Spring MVC请求处理流程分析 流程: 1.首先用户发送请求,请求被SpringMvc前端控制器(DispatherServlet)捕获; 2.前端控制器(DispatherServlet)对请求URL解析获取请求URI,根据URI,调用HandlerMapping; 3.前端控制器(DispatherServlet)获得返回的HandlerExecutionChain(包括Handler对象以及Handler对象对应的拦截器); 4.DispatcherServle

2022-04-26 20:33:54 611

原创 Spring事务

1. Spring事务四大特性(ACID) 原子性(Atomicity):要么全部成功,要么全部失败。 一致性(Consistency):事务在执行前后,数据库中数据要保持一致性状态。 隔离性(Isolation):事务与事务之间的执行应当是相互隔离互不影响的。 没有影响是不可能的,为了让影响级别降到最低,通过隔离级别加以限制: 1.READ_UNCOMMITTED (读未提交) 隔离级别最低的一种事务级别。在这种隔离级别下,会引发脏读、不可重复读和幻读。 2.READ_COM

2022-04-26 20:07:52 419

原创 Spring AOP

1. Spring AOP代理模式 设计目的旨在为服务类与客户类之间插入其他功能,插入的功能对于调用者是透明的,起到伪装控制的作用。 如租房的例子:房客、中介、房东。 对应于代理模式中即:客户类、代理类 、委托类(被代理类)。 代理模式的两个设计原则: 1.代理类与委托类具有相似的行为(共同)。 2.代理类增强委托类的行为。 1.静态代理 三要素: 1.有共同的行为(结婚) - 接口 2.目标角色(新人) - 实现行为 3.代理角色(婚庆公司) - 实现行

2022-04-25 20:38:19 499

原创 Spring IOC

1. Spring IOCSpring框架 1.概念 Spring是众多开源java项目中的一员,基于分层的javaEE应用一站式轻量级开源框架,主要核心是IOC(控制反转/依赖注入)与 AOP(面向切面)两大技术,实现项目在开发过程中的轻松解耦,提高项目的开发效率。 在项目中引入Spring立即可以带来下面的好处: 降低组件之间的耦合度,实现软件各层之间的解耦。 可以使用容器提供的众多服务。 容器提供单例模式支持,开发人员不再需要自己编写实现代码。 容器提供了AO

2022-04-23 22:23:02 228

原创 FreeMarker

1. FreeMarker概述 FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 是一个Java类库。 特性: 1.通用目标 能够生成各种文本:HTML、XML、RTF、Java源代码等等。 易于嵌入到你的产品中:轻量级;不需要Servlet环境。 插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等。 你可以按你所需生成文本:保存到本地文件;作为Email 发送

2022-04-22 20:51:30 1457

原创 Servlet内置对象、JSP和JSTL

1. Servlet内置对象Cookie对象Cookie是浏览器提供的一种技术,通过服务器的程序能将一些只须保存在客户端,或者在客户端进行处理的数据,放在本地的计算机上,不需要通过网络传输,因而提高网页处理的效率,并且能够减少服务器的负载,但是由于Cookie是服务器端保存在客户端的信息, 所以其安全性也是很差的。 Cookie的格式:键值对用“=”链接,多个键值对间通过“;”隔开。 1.Cookie的创建和发送 //创建Cookie对象 Cookie cookie = new Coo

2022-04-21 20:32:55 602

原创 Servlet

1. IDEAIDEA的特色功能智能选取丰富的导航模式历史记录功能编码辅助灵活的排版功能代码检查完美的自动代码完成版本控制的支持IDEA常用快捷键 Alt+Insert 生成代码(如get, set方法,构造函数等) Alt+↑/↓ 在方法间快速定位 Alt+【F3】 查找相同文本,并高亮显示 Ctrl+B 快速打开光标处的类或方法 Ctrl+J 自动代码(main方法) Ctrl+N 查找类 Ctrl+Y 删除行 Ctrl+D

2022-04-19 20:27:49 231

原创 Maven和SVN

1. MavenMaven主要服务于基于java平台的项目构建,依赖管理和项目信息管理。开发架构 MVC model 数据模型 view 视图 controller 控制器 分层思想: controller(控制层) 接收请求/返回数据(结果) service(业务层) 获取参数、校验参数、业务判断 dao(dao层) 操作数据库 步骤: 接收请求 获取参数 校验

2022-04-18 20:42:15 369

原创 BootStrap和LayUI

1. BootStrapBootStrap的使用Bootstrap是一套现成的CSS样式集合,Bootstrap 是最受欢迎的HTML、CSS和JS框架,用于开发响应式布局、移动设备优先的WEB项目。 1.特点: 1.简洁、直观、强悍的前端开发框架,html、css、javascript 工具集,让web开发更速、简单。 2.基于html5、css3的bootstrap,具有大量的诱人特性:友好的学习曲线,卓越的兼容性,响应式设计,12列格网,样式向导文档。 3.自定义JQuery插件

2022-04-16 19:55:56 4642

原创 JQuery

1. Jquery对象Jquery的使用 安装引用: 1.官网下载对应资源。 2.在页面中引入jquery。 <script src="js/jquery-3.4.1.js" type="text/javascript" charset="utf-8"></script> 优点: 1.提供了强大的功能函数。 2.解决浏览器兼容性问题。 3.实现丰富的 UI 和插件。 4.纠正错误的脚本知识。 Jquery核心: $符号在jQuery中代

2022-04-15 19:43:50 719

原创 JavaScript之BOM与DOM操作

1. 事件事件 (Event) 是 JavaScript 应⽤跳动的⼼脏 ,进⾏交互,使⽹⻚动起来。事件可能是⽤户在某些内容上的点击、⿏标经过某个特定元素或按下键盘上的某些按键。事件还可能是 Web 浏览器中发⽣的事情。作用 (1)验证⽤户输⼊的数据。 (2)增加⻚⾯的动感效果。 (3)增强⽤户的体验度。事件中的几个名词 事件源: 谁触发的事件 事件名: 触发了什么事件 事件监听: 谁管这个事情,谁监视? 事件处理: 发⽣了怎么办事件类型 1.JavaScript可以

2022-04-14 18:15:57 1362

原创 JavaScript

1. JavaScript基本用法 1.行内js:直接定义在标签中。 <button onclick="alert('you clicked hered!!!')"> click here </button> 注意:alert() 消息框/弹出框 2.内部js:建议定义在head标签中或者body标签的最后,编写在script标签中。 <script type="text/javascript"> console.log('控制台打

2022-04-12 18:58:28 98

原创 HTML和CSS

1. HTMLHTML(HyperText Markup Language)就是超⽂本标记语⾔。"超⽂本"就是表示⻚⾯内可以包含⾮⽂字元素,如:图⽚、链接、⾳乐等等。标签 分类: 块状元素:元素都从新的⼀⾏开始,并且其后的元素也另起⼀⾏;元素的⾼度、宽度、⾏⾼以及顶和底边距都可设置;元素宽度在不设置的情况下,是它本身⽗容器的100%(和⽗元素的宽度⼀致),除⾮设定⼀个宽度。 ⾏内元素:和其他元素都在⼀⾏上;元素的⾼度、宽度及顶部和底部边距不可设置;元素的宽度就是它包含的⽂字或图⽚的宽度,不

2022-04-11 20:11:28 309

原创 Mybatis02

1. 测试字段名与属性名不一致情况如果查询时使用resultType属性, 表示采用MyBatis的Auto-Mapping(自动映射)机制, 即相同的列名(结果集中的字段名)和属性名会自动匹配. 1.通过resultMap标签自定义表与javabean类型的映射情况: 1.不同名的字段必须手动设置映射关系。 2.同名的字段可以不设置,默认会根据自动映射机制找同名。 2.为字段起别名 要求字段的别名与类型对应的属性名保持一致。resu

2022-04-10 19:19:54 343

原创 Mybatis(1)

1. Mybatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层ORM(Object Relational Mapping 对象关系映射)框架。功能架构 API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层接收到调用请求就会调用数据处理层来完成具体的数据处理。 数据处理层:负责具体的SQL查 找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、

2022-04-08 20:25:22 680

原创 JDBC的使用

1. JDBC java与数据库的连接:java database connectivity角色分类 服务器 (db):接收 sql,执行 sql ,返回结果。 客户端 (java):接收数据,组装sql,发送SQL(与数据库建立联系) ,分析结果。面向接口编程 oracle 厂商实现接口 (jar)(视安装路径而定): D:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar JDB

2022-04-07 20:24:43 708

原创 表的设计和创建、视图和索引以及事务

1. 表设计前提设计表首先应该按需遵循三范式。 三范式: 1NF-->列不可再分最小原子(避免重复);在第一范式(1NF)中表的每一行只包含一个实例的信息。 2NF-->主键依赖(确定唯一);第二范式(2NF)就是非主属性非部分依赖于主键。 3NF-->消除传递依赖(建立主外键关联,拆分表);第三范式(3NF)就是属性不依赖于其它非主属性。 目的:避免数据重复冗余。表的设计 1.确定表名 。 2.确定字段名,类型 +约束(主键 外键 非

2022-04-07 11:38:44 1103

原创 数据库函数、表连接查询以及分页查询

1. 函数 单行函数:一条记录返回一个结果。 多行函数|组函数|聚合函数:多条记录,返回一个结果。单行函数 1.日期函数: sysdate/current_date 以date类型返回当前的日期。 add_months(d,x) 返回加上x月后的日期d的值。 last_day(d) 返回的所在月份的最后一天。 months_between(date1,date2) 返回date1和date2之间月的数

2022-04-05 21:03:11 342

原创 数据库查询

1. SCOTT 用户表 dept:部门表。 emp:雇员表。 salgrade:工资等级表。 bonus:奖金表。2. SELECT SELECT [DISTINCT] {*,column alias,..} FROM table alias WHERE 条件表达式 ORDER BY 排序字段列表 [asc|desc] 解析步骤: from -> where -> select -> order by3. 查询列(字段)select distinct *|字段|表达

2022-04-04 22:34:21 855

原创 基本的设计模式

1. 设计模式类与类之间的关系: 1.继承关系。 2.实现关系。 3.依赖关系。 4.关联关系。 5.聚合关系。 6.组合关系。单例模式:在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。 懒汉式 : 在调用功能时才创建对象 ->线程不安全|不同步的 饿汉式 : 在类加载完成之后就创建对象->线程安全的|同步的 步骤: 1.构造器私有化。 2.私有的静态的该类的引用。 3.公共的静态的

2022-03-31 15:29:53 87

原创 正则表达式和XML

1. 正则表达式用正则的语法来描述具有特殊规则字符串,是一个门语言,具有自己的语法。 作用: 查找,匹配,校验,分隔... 目标: 简单的可以手写,复杂的能看懂,稍作修改。 分类: 1.普通字符。 2.元字符:{}[]()\$.*^+?|。 转义字符:\+字母,\d->[0-9],\\->\,\s->空白符,\w->字母数字。java中使用正则: 1.String类中一些支持正则表达式语法的方法: Stri

2022-03-29 20:47:22 423

原创 反射和注解

1. Properties了解: Properties类表示一组持久的属性。 Properties可以保存到流中或从流中加载。 属性列表中的每个键及其对应的值都是一个字符串。 Properties常用做配置文件使用定义使用步骤: 1.src下新建文件 xx.properties。 2.创建Properties类型的对象。 3.调用load(InputStream|Reader)。 4.根据key获取value getProperty(key)。

2022-03-28 20:18:51 44

原创 网络编程的使用

1. 网络编程 IP : 定义节点。 端口 : 区分软件。 URL : 统一资源定位符。 协议 : 标准,规范,规则,合同。 传输层协议 : 互联网中传输数据需要满足传输层协议。 UDP : 相当于写信, 只管写只管邮,协议简单,效率高 不安全 大小限制 TCP : 相当于打电话, 安全,没有大小限制 *****网页编程和网络编程的区别:网页编程 : 注重的是上层的应用。网络编程 : 注重是底层数据的传输。IP :定义节点,区分节

2022-03-27 00:05:11 143

原创 多线程的使用

1. 多线程多任务执行,多路径执行优点: 1.提高性能。 2.提高效率。进程与线程之间的区别: 进程 : 系统中的程序,一个进程之间可以包含1~n个线程,系统中资源分配的最小单位,每个进程都有自己的代码与数据空间,进程之间的切换开销较大。 线程 : 程序中的顺序流,线程是cpu调度与执行的最小单位,多个线程之间共享进程的代码和数据空间,每一个线程都有自己的程序计数器运行栈,线程之间切换开销较小。 注意:一个cpu同一时刻只能调度一个线程。创建线程的方式 : 1.继

2022-03-25 20:10:07 2014

原创 Lambda_Stream

1. 函数式接口只有一个必须被重写的抽象方法的接口。 @FunctionalInterface 注解强制检测是否为函数式接口。 java.util.function 包下提供了一系列的函数式接口。四大内置函数式接口 : Consumer<T> 消费型接口 void accept(T t) 对给定的参数执行此操作。 Function<T,R> 函数型接口 R apply(T t) 将此函数应用于给定的参数。 Supplier

2022-03-24 21:01:17 222

原创 Set与Map

1. Set无序,不可重复|去重。 无序: 存放的顺序与内部真实存储的顺序不一致。 去重: 集合不包含元素对e1和e2 ,使得e1.equals(e2)和最多一个null元素。 新增功能: static <E> Set<E> of(E... elements) 返回包含任意数量元素的不可修改集。 遍历方式: foreach iterator迭代器常用方法: E ceiling(E e) 返回此set中大于或等于给定元素的 nul

2022-03-23 20:28:16 52

原创 集合的使用

1. 容器容器|集合 :存储多个数据。集合的特点: 1.存储任意引用类型数据。 2.集合的长度可变,可以根据需求动态的增删数据,长度随之改变。数组 :存储多个数据,一段连续的内存空间。数组的特点: 1.引用数据类型。 2.定长,长度一旦确定不可改变。 3.存储数据的类型相同。 4.有序,有索引。简单封装容器类型(ArrayList): MyContainer 只能存储字符串数据 String[] elementData;容器中的接

2022-03-21 23:41:54 93

原创 IO流的常用方法

1. File文件和目录路径名的抽象表示。 File(Stringpathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。 File(Stringparent,Stringchild) 从父路径名字符串和子路径名字符串创建新的File实例。 File(Fileparent,Stringchild) 从父抽象路径名和子路径名字符串创建新的File实例。File常用方法boolean setReadOnly() 标

2022-03-20 22:41:29 550

原创 常用类方法

1. 包装类 基本数据类型 --> 包装类 byte Byte short Short int Integer long Long float Float double Double char

2022-03-18 22:57:32 62

原创 Arrays工具类和String

1. Arrays操作数组的工具类。 static String toString(int[] a) 返回指定数组内容的字符串表示形式。 static boolean equals(int[] a, int[] a2) 如果两个指定的int数组彼此 相等 ,则返回 true 。 static boolean equals(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int

2022-03-17 23:37:21 107

原创 数组和异常处理

1. 数组概念: 存储多个数据; 一段连续的内存空间,线性序列; 多个相同数据类型数据的有序集合。特点 : 1.引用数据类型。 2.是定长的,长度一旦确定不可改变。 3.存储的多个数据类型相同。 4.有序的,有索引。索引 : 1.连续的内存空间中每一个小空间的序号。 2.从0开始,每次+1。 3.每个数组的第一个空间索引: 0。 4.每个数组的最后一个空间索引: 数组名.length-1。数组长度: 数组名.length。

2022-03-15 22:45:20 148

原创 接口和内部类

1. 接口 1.引用数据类型。 2.特殊的抽象类。 3.接口为功能的集合,一般为抽象功能的集合。 4.class定义类,interface定义接口。 5.类只能单继承,接口多实现。 6.继承与实现非常像。 子类继承父类,有权直接使用父类的成员,可以不重写直接使用。 实现类实现一个接口,拥有了接口中的功能,但是都为抽象功能,需要实现类自己重写,侧重点关注的重写。 7.定义开发规范。 8.实现解耦,降低耦合度。

2022-03-14 19:33:39 68

原创 Javabean在idea中的实现

1. 多态 :一种事物的多种形态|表现形式,行为多态。多态前提 : 继承 | 实现。多态的最终表现形式 : 父类引用指向子类对象。多态的调用 : 父类引用调用。 成员变量 : 编译运行看父类|左边|类型。 成员方法 : 编译看父类|左边|类型,运行找子类|右边|对象。注意 : 如果没有配合方法的重写,多态就没有意义。做题四大原则: 1)继承链:自己没有找父类。 2) 编译看类型、确定方法,运行找对象 3)就近最优原则。 4)父类引用对

2022-03-13 18:15:00 700

原创 封装、继承、重写

1. 包机制java引入了包机制包信息存在与java代码的第一行,类的上面 包的定义规范 : com.yjxxt.xxxx 标识符规范 : 全部小写 作用: 1)方便管理众多资源 2)引入多重命名空间 导包 :指明要使用的资源所在的位置。 1)使用的位置使用权限定名java.util.Scanner,只在当前位置有效。 2)使用import导包,在类的上面,package信息的下面,一个Java文件所有类有效。 3)*模糊导入,模糊匹配当前包

2022-03-11 20:17:42 98

原创 构造器、关键字this、静态static、代码块block、调试debug

1. 构造器new关键字做的事情: 1.在堆中为对象开辟空间,成员变量跟随对象进入到堆内存并附默认值。 2.调用构造器为对象初始化信息。 3.将地址返回给引用。构造器|构造函数|构造方法 :是一种特殊的方法。 作用: 为对象初始化信息,为对象的属性赋值,不是用来创建对象的,new能够创建对象。 调用: 只能跟随new一起使用。 定义: 修饰符 类名(参数){ 初始化信息代码; } 注意: 1.构造器可以实现重载。 2.如

2022-03-10 19:25:14 340

原创 面向对象与面向过程的区别

1. 面向对象 与 面向过程的区别都是一种思想,思维方式,思考问题的角度.面向过程 :"关注实现过程|步骤,需要通过几步完成?"然后一步一步执行。面向对象 :"关注我该找谁来完成 ?“实现步骤不关注,只关注这个"谁”,他就是对象,面向对象是依托于面向过程的。面向对象优点: 1.更贴合于显示生活中人们的思考角度。 2.面向对象更贴合生活中管理者,面向过程更贴合与执行者。 3.将复杂的问题简单化。以面向对象的思想进行编程 :将程序与生活紧密联系。类 : 描述图纸|模板

2022-03-09 19:26:48 458

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除