java

SpringAOP实现登录验证的操作代码

2022-01-15
要求任何操作都建立在已经登录的基础上,登录操作除外.... 使用Spring AOP不仅简单,还不会对其他部件中产生影响 以下具体代码实现: package com.joey.util; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ann

基于Springboot实现送水公司信息管理系统

2022-01-15
项目编号:BS-XX-014 项目描述 springboot实现的送水后台管理系统 运行环境 jdk8+tomcat7+mysql+IntelliJ IDEA+maven 项目技术(必填) SpringBoot+mybatis 数据库文件(可选) 压缩包自带 依赖包文件(可选) maven项目 项目运行截图: 系统主界面 客户管理 送水工管理 送水历史订单 工资计算 统计送水数量 package com.minzu.service.impl; import cn.hutool.crypto.di

Java实现二叉搜索树的插入、删除功能

2022-01-15
二叉树的结构 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() { } TreeNode(int val) { this.val = val; } } 中序遍历 中序遍历:从根节点开始遍历,遍历顺序是:左子树->当前节点->右子树,在中序遍历中,对每个节点来说: 只有当它的左子树都被遍历过了(或者没有左子树),它才会被遍历到.在遍历右子树之前,一定会先遍历当前节点. 中序遍历得到的第一个节点是没

SpringBoot启动多数据源找不到合适的驱动类问题

2022-01-15
目录 启动多数据源找不到合适的驱动类 问题 这两个jar包放在一起就找不到合数的驱动加载了 启动springboot提示驱动异常 Failed to determine a suitable driver class 在pom.xml中的build标签中添加如下代码 启动多数据源找不到合适的驱动类 问题 我项目中使用了SpringBoot多数据源,但是mysql有使用阿里的Druid连接池. <!--主从配置依赖--> <dependency> <groupId>com

mybatis-plus返回查询总记录数方式

2022-01-15
目录 mybatis-plus返回查询总记录数 mybatis-plus分页查询,总条数为零的解决 mybatis-plus返回查询总记录数 mp框架提供了selectCount方法,来查询总记录数: 需求: 查找薪水大于3500 名字里有“小”的 员工的个数 sql实现: select count(*) from t_employee where salary>3500 and name like '%小%' 代码实现: @Test public void selectCountByQuery

spring Bean创建的完整过程记录

2022-01-15
目录 前言 bean创建的流程图 快速开始 总结 前言 复习一下spring实现IOC的源码流程准备工作: ​强烈建议大家从git上拉取spring源码来学习Spring源码.因为里面相较于IDEA生成的会有注释,里面有的方法会有注释看起来会省力一点. ​以下都是用5.0.2版本来做阐述. bean创建的流程图 写在前面:建议大家一定要自己用实例跑一遍,做好记录.如果只是看看会非常抽象.此流程图作为梗概,便于加强记忆和理解,新手或无基础的有个印象即可.等跟随本文走通一遍,在回过头看这个图,或许会

Java基础-Java常量和常量值

2022-01-15
目录 1 常量定义 2 常量语法命名 3 常量值 3.1 整型常量值 3.2 浮点数常量值 3.3 布尔常量值 3.4 字符型常量值 3.5 字符串常量值 4 码农来洞见 4.1 注意事项 4.2 常量作用 4.3 常量声明位置 1 常量定义 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序运行过程中值不能发生改变,这些数据在程序中被叫做常量. 2 常量语法命名 Java常量的语法格式如下: final 数据类型 常量名称 = 值: 示例代码如下: //声明双精度型常量PI并赋值 fi

mybatis-plus添加数据时id自增问题及解决

2022-01-15
目录 mybatis-plus添加数据时id自增问题 解决方案 插入记录的主键自增赋值机制说明 代码说明 1.找到执行入口 2.看看keyGenerator的执行逻辑 3. 跟进逻辑执行 4.继续进入下一层逻辑 5.继续进入下一层逻辑 6.关键取值 7.关键赋值 自增主键 UUID mybatis-plus添加数据时id自增问题 mybatis-plus插入数据,id自增列变的很长.比如下图: mybatis-plus中遇到一个,添加数据到数据库,而数据库中的id列是自增列 使用plus中自带的

基于SpringMVC入门案例及讲解

2022-01-15
目录 一.SpringMvc概述 二.入门案例 开发步骤 1.创建web工程.引入依赖 2.配置SpringMvc入口文件 3.创建Springmvc.xml文件 4.创建 业务处理器 Controller类 5.测试 6.运行流程 一.SpringMvc概述 SpringMVC是一个基于MVC设计模式的WEB层框架. SpringMVC设计模式: MVC,全名是(Model View Controller)的缩写,是一种软件设计模式. 具体含义: Model:模型,用来处理数据,一般是一个实体

jdk8使用stream实现两个list集合合并成一个(对象属性的合并)

2022-01-14
目录 一.前言 二.示例 示例1:java8 合并两个 list<map> 示例2:java8 合并两个 list<T> 示例3:java8 合并两个 list<T>,集合个数前者小于后者,要后者 示例4:java8 合并两个 list<T>,集合个数前者大于后者,要后者 java使用stream实现list中对象属性的合并:根据两个List中的某个相同字段合并成一条List,包含两个List中的字段 一.前言 为什么要用Lambda表达式和Stream流做

mybatis中的count()按条件查询方式

2022-01-14
目录 mybatis count()按条件查询 1.sql count()函数 2.mybatis中count()按条件查询 在查询时使用count(*),total为1,结果为0 mybatis count()按条件查询 1.sql count()函数 count()函数返回匹配指定条件的行数. sql count(column_name)语法: count(column_name)函数返回指定列的值的数目(null)不计入. select count(column_name) from ta

Java中super关键字的用法和细节

2022-01-14
目录 前言 1. super关键字的用法 2. super关键字的使用细节 3. super和this关键字的比较 总结 前言     因为西安疫情的原因在宿舍摆了一个月,最近在复习前面学过的知识的时候发现,自己在初学面向对象时对Super关键字的理解不够深刻,所以现在重新学习一下super关键字的用法和细节. 1. super关键字的用法     在Java中,super关键字共有三种用法,分别是: 通过 super.属性名 来访问父类中的成员变量 通过super.方法名(参数列表) 来访问父

Java编程语言特性和优势

2022-01-14
目录 1 前言 2 Java语言特性 2.1 简单性 2.2 面向对象 2.3 架构中立 2.4 可移植 2.5 健壮性 2.6 安全性 2.7 高性能 2.8 解释型 2.9 线程型 2.10 动态型 3 总结 1 前言 Java是近 10 年来计算机软件发展过程中的传奇,其在众多开发者心中的地位可谓“爱不释手”,与其他一些计算机语言随着时间的流逝影响也逐渐减弱不同,Java 随着时间的推移反而变得更加强大. 从首次发布开始,Java 就跃到了 Internet 编程的前沿.后续的每一个版本都

Mybatis-Plus 新增获取自增列id方式

2022-01-14
目录 新增获取自增列id 1.实体类定义 2.解决办法 3.调用方法获取id说明 解决id自增方法 新增获取自增列id 1.实体类定义 注意:@TableId(value = “id”, type = IdType.AUTO)注解中的 type = IdType.AUTO 属性标注主键为自增策略. import lombok.Data; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatispl

关于@Entity和@Table注解的用法详解

2022-01-14
目录 @Entity和@Table注解的用法 @Entity注解 @Table注解 @Entity和@Table的区别 @Entity和@Table注解的用法 @Entity注解 @Entity注解和@Table注解都是Java Persistence API中定义的一种注解. @Entity说明这个class是实体类,并且使用默认的orm规则,即class名就是数据库表中表明,class字段名即表中字段名.@Entity注解指明这是一个实体Bean. import lombok.Data; 

关于Java反射给泛型集合赋值问题

2022-01-14
泛型 Java泛型简单描述下: 比如创建一个List集合,我想在里边只放Student对象信息,就需要写成 List<Student> studentList = new ArrayList(); 这个时候List里面就只能放入Student类型的值,如果强行放入其他类型(比如说Integer)的就会提示错误信息: java.lang.ClassCastException: java.lang.Integer cannot be cast to com.entity.Student 按照这个结

Springboot结合Flowable实现工作流开发

2022-01-14
目录 Flowable 核心依赖 流程设计 流程审批 总结 公司内部的OA系统最近要升级改造,由于人手不够就把我借调过去了,但说真的我还没做过这方面的功能,第一次接触工作流的开发,还是有点好奇是个怎样的流程. 项目主要用 Springboot + Flowable 重构原有的工作流程,Flowable 是个用 Java语言写的轻量级工作流引擎,上手比较简单开发效率也挺高的,一起学习下这个框架. 官方地址:https://www.flowable.org/docs/userguide/index.

Java基础-Java编程语言发展史

2022-01-14
目录 1 Java由来 2 Java发展阶段 3 码农洞见 3.1 为什么企业程序开发要用JDK8 1 Java由来 Java源自Sun公司的一个叫Green的项目,其原先的目的是为家用电子消费产品开发一个分布式代码系统,这样就可以将通信和控制信息发给电冰箱.电视机.烤面包机等家用电器,对它们进行控制和信息交流.最初Green项目的工程师们准备采用C++,但C++比较复杂,最后经过裁剪.优化和创新,1990年,由Sun公司的James Gosling(詹姆斯·高斯林)领导的小组基于C++开发了一

Java如何跳出当前多重循环你知道吗

2022-01-14
目录 Java是如何跳出当前多重循环? 不建议使用 建议使用 总结 Java是如何跳出当前多重循环? 不建议使用 在最外层前面加一个标记A,然后用break A;可以跳出多重循环因为它不会让你的程序变得更加优雅,很多时候起到相反的作用.例如,万一别人把这个标识符定义在你找不到的地方,容易让代码阅读起来很费解. (Java中支持带标签的break和continue语句,作用有点类似于C和C++的goto语句) 在多层循环体外写 标识符A: 来跳出循环. 代码如下: public static vo

mybatis动态SQL if的test写法及规则详解

2022-01-14
目录 mybatis动态SQL if的test写法 使用动态SQL最常见情景 官方语法规则手册 举个例子 mybatis if test动态sql语句 mybatis动态SQL if的test写法 使用动态SQL最常见情景 是根据条件包含 where 子句的一部分. 比如: <select id="findActiveBlogWithTitleLike" resultType="Blog"> SELECT * FROM BLOG WHERE state