框架基础(2) 捋一捋 反射

Class(常叫做大class)它是类中的类,通过个类可以取类中的相关信息,为什么要取类中的信息呢?目的就是用取的信息做想做的事,假设我们不知道什么时候用一个或一些类,我们当然希望当用到自动用到,不用的时候自动不用 可能这话有点难以理解。什么叫用到的时候自动用到,难道你不知道什么用为什么写一个类呢?因为是我们希望让框架帮我们托管我们的代码,而不是手动创建,这就是动态创建而非用程序写死。讲了太多,我们做个实例加深一下印象。声明一个类,并把一个成员变量为公用变量与私有变量public String nam
分类: 其他 发布时间: 10-14 23:40 阅读次数: 0

框架基础(3) 捋一捋 内省

很多人内省 与 反射 容易搞乱,反射在上一篇已经介绍了,主要用于用(大)Class 类取(小)class类的成员变量、方法、构造。而内省则是用于利用取来的信息搞些事情。用于测试的类public class Stu { private String name;//姓名 这里声明为公有成员 private int age;//年纪 //1类的构造 //1-1.空构造 public Stu() { } //1-2 完整构造 public
分类: 其他 发布时间: 10-14 23:39 阅读次数: 0

框架基础(4) 捋一捋 AOP

AOP 有点代理模式的意思,AOP 世称:“面向切面编程”,说白了就让专业的类做专业的事,不做与本专业无关的事。比如说我们一个类,当我们业务操作的时候,操作前做权限验证;操作后要做日志记录,而这些却不是类本身应该办的事; 而权限 、日志、事务…等交给应该处理的去处理,而不影响本身业务。这就叫面向切面编程。这里举个简单的示例通过动态代理的方式实现AOP1.定义一个接口interface Isay{ public void say();}2.让一个类去继承这个类class Stu impl
分类: 其他 发布时间: 10-14 23:39 阅读次数: 0

框架基础(5) : 手把手实现的个完整的AOP

上一章讲了通过动态代理实现了一个AOP,只是一个了解一下概念,那么我们实现一个简单的框架的AOP。那么我们来个复杂的代理;用到了工厂模式、文件读取、JavaBan、动态代理、内省等知识。如果这些还不明白的话去看一下我的前面写的教程。需求:我们的用户管理时都要记录开始日志与结束日志1.创建一个类public class User{ private String name; private String pwd; public User() { } public
分类: 其他 发布时间: 10-14 23:39 阅读次数: 0

框架基础(6) :浅谈Java注解

在Java开发中,特别框架中充拆着各种注解,注解是放在Java源码的类、方法、字段、参数前的一种特殊“注释”。应用场景可以通过反射给类赋值。在这里做个示例给演示一下定义一个注解@Retention(RetentionPolicy.RUNTIME)//定义在运行时启用public @interface MyAnnotation { //定义一个变量 public String name();//变量 public int age();//单个变量 public Stri
分类: 其他 发布时间: 10-14 23:39 阅读次数: 0

3.IDEA Spring + MyBatis Plus 全过程

1.创建Spring boot 项目2.配置选项3.选择Spring boot4.项目与路径5.结构6.修改pom.xml文件 添加Maven<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version&
分类: 其他 发布时间: 10-14 23:38 阅读次数: 0

4.IDEA Spring + MyBatis全过程

上章 讲了 MyBatis Plus 的使用,使用起来也非常简单,当然如果想让它自动生成代码帮你完成更多的功能,可以利用模板完成,因为是为了让大家了解一下整体过程不必深入太多。下面我们要使用IDEA 实现MyBatis功能实现,其中用到了Swager接口管理的技术,如果不清楚请点击这里查看接下来的示例我会用 朝雨忆轻尘 博客的示例数据库给大家演示1.准备好测试的数据库数据库使用提Mysql相关的表写字段-- ------------------------------ Table structu
分类: 其他 发布时间: 10-14 23:38 阅读次数: 0

关于Zoom连不了,明明别人可以连接,却提示会议号不存在

如题:答案:去下载 国内版事件说明:公司里的同事有人可以使用Zoom参加会议,于是到官网上去下载了一个就是进不去,提示会议号不存在。但别人明明已经登陆成功了。各种百度没有解决,原因都是在zoom.us上下载的软件。问题已经找到;去下载一个国内版就可以了。如果觉得帮到您了,麻烦你点赞或评论。...
分类: 其他 发布时间: 10-14 23:38 阅读次数: 0

4-1、细说IDEA Spring MyBatis 之 业务需求、数据准备、环境准备

一切从业务需求出发,我们还是手把手完成一个实例了细解一下MyBatis;业务需求我们需要对生产工艺制程表进行基本的增\删\改\查。现在是这样的,我们一个生产工艺制程表其结构如下DROP TABLE IF EXISTS `s_apscode`;CREATE TABLE `s_apscode` ( `k_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '制程代号', `k_
分类: 其他 发布时间: 10-14 23:38 阅读次数: 0

4-2、细说IDEA Spring MyBatis 之 实体类、服务接口、服务类、映射接口、外部接访实现类、映射文件

书接前文,1.实体类用于与数据库一一对应的声明,并且是一个标准的JavaBean。类如下:package com.cm.aps.model;public class S_apscode { public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } private Integer id; private
分类: 其他 发布时间: 10-14 23:37 阅读次数: 0

4-3、细说IDEA Spring MyBatis 之 再升级,实现分页查询

1.准备好底层实现1-1、页面返回结果类 PageResultpackage com.cm.aps.page;import java.util.List;public class PageResult { /** * 当前页码 */ private int pageNum; /** * 每页数量 */ private int pageSize; /** * 记录总数 */ private
分类: 其他 发布时间: 10-14 23:37 阅读次数: 0

Spring Boot mybatis 同一个方法中执行多SQL语句

一切从需求出发;比如我有一个表存储 大类信息,一个表存明细信息。因此大类与明细的关系是一对多的关系,因此我希望在删除大类信息时自动清除子类信息。(也就是表头表身处理)仅通过在XML文件中增加处理(语句间通过" ; "号分隔)是不行的如下图;<delete id="deletebycode" parameterType="java.lang.String"> delete from s_apscode where k_code = #{code,jdbcType=VARCHA
分类: 其他 发布时间: 10-14 23:37 阅读次数: 0

Swagger2 接口多级分组方法

swagger 无疑是Java开发的最佳伴侣,接口非常方便调试;当然也有用Postman,因人而异吧。但是我们在配置Swagger的时候会有一个都默认一级分类也就是那个Defaul,在这个组里所有的接口二级分类都在这里,一般小项目还可以使用,但是做大项目的时候就接个接口就不那么方便了。在这里人放一下我的Swagger 配置代码@Bean public Docket buildDocket() { return new Docket(DocumentationType.SWA
分类: 其他 发布时间: 10-14 23:37 阅读次数: 0

Spring mybatis 处理业务逻辑

在实际项目中我们不仅是为了写入数据而写入数据,中间有一定的逻辑,比如,我们新增一个工艺,关于工艺代号作为唯一不能重复,我们需要对业务进行逻辑判断;那么关于逻辑应该写在Service去实现。Daopublic interface S_apscodeMapper { //根据制程代号查询制程 S_apscode findbycode(String code); //查询全部 List<S_apscode> findAll(); //新增 int i
分类: 其他 发布时间: 10-14 23:36 阅读次数: 0

简述 mybatis 事务的使用

在实际应用中,我们需要做一系列的操作,比如当我们增加明细数据需要对表头更新合计值;也就是涉及多个表的操作时需要通过事务进行处理;那么事务处理方式有两种方式:一种写带事务的存储过程,另一种通过Spring 自身事务支持;在这里我就解释后者有方式;第一步:在入口处增加 @EnableTransactionManagement 注解package com.cm.aps;import org.springframework.boot.SpringApplication;import org.sprin
分类: 其他 发布时间: 10-14 23:36 阅读次数: 0

Mybatis 输入SQL语句方法,方便调试

我们在实际开发过程中需要知道我们的SQL语句情况,因此需要在调试过程中把SQL输出到控制台;方法很多;我采用的方法,在配置文件中增加如下:server: port: 8080spring: datasource: driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/testdb?useUnicode=true&zeroDateTimeBehavior=conver
分类: 其他 发布时间: 10-14 23:36 阅读次数: 0

mybatis 手把手配置多个数据源(多个数据库连接)

需求:项目中特别是做一个项目的外挂时,我们不希望直接在原库中修改,而是从一个库(业务库)读取,然后存入另一个库中(本地库)。这种需求非常常见;那么如何解决这个问题呢!首先用原来的数据源配置文件指定是不行的(因为数据源配置机制决定);准备工作,配置一个Spring boot +mybatis出来。项目结构如下:其中confing/dds/用来实现AOP切面基础类1.数据库准备2.数据源配置:application.yml#运行端口server: port: 8080#数据库配置sp
分类: 其他 发布时间: 10-14 23:36 阅读次数: 0

mybatis 手把手配置多个数据源 (续)

前文已演示如何实现多数据源,如果我们仅可以调用出数据仍是不够的,我们需要把调用的数据利用起来。比如:我需要在项目主库中增加一条数据,在增加时为了要检索它的合法性,需要从源库中查询数据的合法情况,此时需要在Dao 层中进行调用,由于我们分配了多数据源,因此我们在接口中直接使用数据源注解就可以了。实例我需要记录一个项目的工作情况,但是管理项目的系统不支持这个功能,于是就要把项目登记进来(不能选择同步,因为业务需求不是所有项目都要登记,至少为什么这样的需求,在这里不多说)。思路:新增项目 1.判断项目在
分类: 其他 发布时间: 10-14 23:35 阅读次数: 0

SpringBoot +LayUI+thymeleaf 实现一个功能(一) 准备工作

前言经过一段时间的积累,我们需要通过一个项目验证一下我们的技术,那么通过一个前后端实现项目是最好不不过了。在网上看过一个视频教程,就一步步做下去,期间走过了很多弯路(不是别人的有错误,而是开发版本的问题),所以实践才是真理。创建数据库数据库类型:Mysql数据库名称:sridb表名:dept表结构:字段类型长度注释idbigint20主键parent_idbigint20上级部门ID。一级部门为0namevarchar50部门名称ty
分类: 其他 发布时间: 10-14 23:35 阅读次数: 0

SpringBoot +LayUI+thymeleaf 实现一个功能(二) 查询

Java 功能实现po 实体层package com.flo.po;import lombok.Data;import java.io.Serializable;import java.util.Date;@Datapublic class Dept implements Serializable { private Integer id; private Integer parentId; private Integer type; private St
分类: 其他 发布时间: 10-14 23:35 阅读次数: 0