自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Edson121的博客

小白成长之路

  • 博客(35)
  • 收藏
  • 关注

原创 多数据源切换

文章目录功能环境依赖多数据源配置动态切换事务重写mybatis配置类示例问题及解决方案同一service中A方法内调用B、C方法导致数据源切换失败使用@Transactional后数据源切换失败功能多个数据源的切换事务内的数据源切换和事务的回滚环境依赖springboot + mybatis + atomikos<!--分布式事务 --><dependency> <groupId>org.springframework.boot</gr

2021-12-16 16:56:10 904

原创 Git基础命令

文章目录命令概念Bug分支命令git init :将当前目录变成Git可以管理的仓库git add <file> :文件修改添加到暂存区git commit -m <message>: 把暂存区的所有内容提交到当前分支,message是提交注释git status :查看文件提交情况git diff <file> : 查看文件修改的内容git log : 查看提交历史日志,加--pretty=online使其展示更简洁。git reset --hard &

2021-10-14 11:44:02 94

原创 Springboot笔记---持续更新中

文章目录传递参数注解@PathVariable,@RequestParam和RequestBody区别springboot注解及相关知识配置文件application.propertiesSpringboot跨域实现拦截器设置bug表单校验与页面枚举值的显示日志设置Spring Task定时任务Spring AOP切面异常定义与处理页面与后端值传递方法Apache Bench(ab)测压redis存储与登录拦截Synchronized锁和Redis分布式锁redis缓存WebSocket和html5Linu

2021-08-10 16:12:59 267

原创 Java8新特性

环境:JDK1.8以上Lambada表达式Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。语法:(parameters) -> expression或(parameters) ->{statements; }1.可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。2.可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。3.可选的大括号:如果主体包含了一个语句,就不需要使用大括号。4.可选的返回关键字:如果主体只有一个表达式返回值

2021-08-10 16:10:43 113

原创 Flex布局

文章参考简介flex意为弹性布局flexible box,使CSS的盒子模型更加地灵活。设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。语法指定使用flex布局。.myDiv{ display:flex;}容器的属性1. flex-direction:决定主轴的方向(即项目的排列方向)。 其中: row...

2019-08-21 16:10:06 205

原创 ES6学习笔记

ES6JS新规范,包括对变量、函数等的扩展。文章目录ES6变量箭头函数函数参数扩展解构赋值数组面向对象JSONPromise对象Generator函数async函数变量var:可以重复定义变量。无块级作用域。let:不能重复定义变量,值可以修改。有块级作用域。const:不能重复定义,常量不可修改。有块级作用域。块级作用域:<script> if...

2019-08-20 16:49:00 158

原创 Java基础夯实

Java运行过程在开发集成环境下编辑一个java文件,如User.java文件。通过javac User.java命令将该文件编译成字节码文件User.class。(前提是编译无错)通过java User执行代码文件。类的主方法(main)中的String[] args是main方法的参数。如运行java文件时使用java User aaa命令:其中java表示执行命令,User为文件类...

2019-08-20 16:47:33 260

原创 SQL语言基础

Users表idnameintvarchar(128)Book表idnameuser_idintvarchar(128)intSQL基础SQL一般不区分大小写。条件语句中的文本使用单引号环绕;大多数数据库系统也支持双引号,数值类不使用引号。逻辑判断使用:and和ororder by:根据指定的列对结果集进行排序,默认按照升序...

2019-08-20 16:45:15 601

原创 Springboot(五)Apache Bench测压与Linux项目部署

Apache Bench(ab)测压介绍:模拟高并发的环境,测试软件在高并发环境下的准确性和效率。由于在windows上安装成功但不能运行,推荐在linux上安装。在linux终端输入yum -y install httpd-tools安装。安装成功后通过ab -v查看版本。ab -help查看所有命令。ab -c 100 -n 1000 http://baidu.com/:表示创建10...

2019-06-27 14:44:24 297

原创 Springboot(四)使用WebSocket

WebSocketwebSocket用于页面与逻辑代码的消息传递,且连接是全双工通信。在pom.xml文件中引入spring-boot-starter-websocket依赖。在需要进行消息展示的页面插入以下代码。一般页面使用modal组件显示消息内容。<script> if('WebSocket' in window){ ...

2019-06-27 14:40:38 212

原创 Springboot(三)redis存储与登录拦截

redis缓存springboot+redis@Cacheable(name="",key=""):表示将该对象以name+key为键存入redis数据库。@CacheEvict(name="",key=""):表示将以name+key为键的记录删除,以更新缓存,使得缓存数据与数据库数据一致。@CacheConfig(name=""):注解在类上,表示统一指定缓存的name字段。re...

2019-06-27 14:38:59 1034

原创 Springboot(二)自定义日志与异常

日志设置日志:“谁在何时何地做了何事”—定义日志对象。“何事”:定义用户的动作,“有各种事”。提供创建日志对象的工具类。//日志对象定义/** * 日志信息对象 */@Data@NoArgsConstructor@AllArgsConstructorpublic class LogObject { /** * 用户id */ pri...

2019-06-27 14:36:21 322

原创 Springboot(一)

传递参数注解@PathVariable,@RequestParam和RequestBody区别(markdown引用图片方法BASE64编码)针对一些非必填的参数,可以使用required关键字来标识,同时必须设置默认值defaultValue,如对price参数的获取:@RequestParam(value = "price",required = false,defaultValue...

2019-06-27 14:33:12 312

原创 Linux初探

简介特点:Linux开源且免费,而windows是不开源的且收费;因此大部分公司的服务器使用Linux。在Linux中一切设备皆文件。作用范围:服务器运维,数据库运维等。安装VMware安装:用于虚拟出一个计算机,在该机上安装Linux;从而不会破坏物理机的内存和磁盘。CentOS:操作系统镜像安装Linux。磁盘分区:/boot:一般用于存放系统启动文件,分区大小为1024...

2019-06-03 13:41:09 131

原创 3. Longest Substring Without Repeating Characters

ProblemGiven a string, find the length of the longest substring without repeating characters.说明:给定一个字符串,找出其中最长且无重复字符的子串。[Example]Input: "abcabcbb"Output: 3 Explanation: The answer is "abc", with...

2019-05-20 10:25:00 104

原创 2.Add Two Numbers

ProblemYou are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and ...

2019-05-20 10:22:12 153

原创 1.Two Sum

ProblemGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use th...

2019-05-20 10:19:32 137

原创 Java面试总结(二)

第二次面试@-@在面试总结(一)中,对于JVM中堆和栈的区分不是很清楚,可以看看别人写的这篇JVM调优,写得很好,推荐给大家。总的来说就是:栈是存放线程运行时的信息(程序运行状态、方法和方法的返回值等),决定程序如何运行;堆是存储数据,堆中的数据可以被栈访问,它决定数据放在哪。接下来总结第二次面试内容:笔试部分“!”运算符的优先级小于括号。 int a=b=1;String s...

2019-03-12 22:13:05 130

原创 Java面试总结(一)

今天面试完一个Java实习生岗位,趁着余热将知识点记下来。以下知识并非原创,皆是网上找的答案: 一.String类String不是基本数据类型,底层代码中String被final字段修饰,是不可被继承的;一旦创建了 String 对象,那它的值就无法改变了。如果需要对字符串做很多修改,那么应该选择使用 StringBuffer 或 StringBuilder 类。 当对字符串进...

2019-03-07 21:50:32 228

原创 注解+动态代理实现权限拦截

动态代理用于拦截对目标对象的直接访问。代理对象具有自己的方法以及目标对象的全部方法,当被调用的是目标对象的方法时,代理对象先调用自己的方法,再让目标对象调用其对应的方法。JavaAPI:Proxy类产生代理对象,调用其静态方法newProxyInstance(ClassLoader,Interfaces[],InvocationHandler(Object proxy,Method method

2017-08-26 20:40:12 611

原创 注解Annotation

Java中注解有三类:内置注解,自定义注解,元注解。说明:注解可以定义在类,方法,字段上。1.内置注解Java内部定义的注解:@Override @Deprecated @SuppressWarnings @Override:覆盖或重写父类的方法。无参数 @Deprecated:表示该方法已过时。无参数 @SuppressWarnings:压制警告,带参数。 其参数有:deprecati

2017-08-20 10:48:14 319

原创 数据库分页实现

1.SQL数据库语言实现分页 语法:select 列名|* from 表名 limit N,M; N:代表开始分页的记录序号。 M:代表一页内的记录条数。 例:select * from customer limit 0,2; 表示从customer表中的第一条记录开始分页,每页有两条记录。2.使用Page对象封装相关属性便于web层页面显示 代码实现:package domain;im

2017-07-23 19:27:39 403

原创 MVC模式和三层架构

本篇博客为项目开发中的设计方法的简单总结,有纰漏错误之处,敬请斧正。MVC模式(Model View Controller):Javaweb开发的主要模式,用到的技术为servlet+jsp+javabean。图示: 三层架构模式:利用三层架构开发的步骤:1.开发环境搭建:导入相关jar包。 2.建立并组织项目的包。 3.建立数据库和相关javabean 4.从dao层往上开发。 利

2017-07-16 20:32:30 564

原创 请求转发与重定向

什么叫做请求转发与重定向?请求转发:浏览器发出请求给服务器端,请求的URL在服务器端没有资源,那么服务器端将会给出另一个URL2,由服务器将该请求转发给URL2。 重定向:浏览器发出请求给服务器端,请求的URL在服务器端没有资源,那么服务器端将会给出另一个URL2,由浏览器再次发出请求给URL2。请求重定向与转发的区别:转发:浏览器发出一次请求,由服务器端跳转到某个URL,浏览器端的URL地址

2017-07-16 10:28:41 317

原创 Jsp页面的九大隐式对象

Jsp页面的九大隐式对象问题1:哪九大隐式对象?Request, Response, Session, Config, Application, Page ,PageContext, Out, Exception问题2:为什么会有九大隐式对象?这与访问Jsp页面时,服务器做出响应的原理相关——任何响应都将被编译成一个Servlet,最终将结果返回给浏览器。访问Jsp页面时,首先将Jsp编译成一个

2017-06-27 18:46:30 562

原创 Servlet中Request, ServletContext,Session域和Jsp中Page域的区别

Request域: Servlet中采用请求-响应模式,一个Request则保存该请求的所有信息;其作用范围为该个Request对象中,其主要作用携带Cookie和转发功能:① 携带CookieCookie用于保存服务器给客户发出的相关信息并将其保存在浏览器端,作用:保存Session的标识符等,应用场景:自动登录,显示上次访问时间等。创建一个Cookie对象并通过Response的addCoo

2017-06-25 11:23:30 2773

原创 项目二:HTTP服务器

项目二:HTTP服务器(在学习servlet技术和使用Tomcat之前,熟悉其底层基本原理。)HTTP服务器采用请求-响应模式,即一个请求对应一个响应。 本篇博客将介绍该项目的基本思路,具体实现将后续更新。工欲善其事,必先利其器。需掌握:1 掌握HTTP协议 2 掌握IO流 3 网络编程 4 多线程 5 反射 6 xml文档及解析(用到的是dom4j解析)基本思路:① 核心包:Se

2017-06-11 18:52:46 530

原创 根据数据库表结构自动生成类结构

上篇博文metadata类的相关介绍已经完成了将数据库信息存储到Java容器内,所以可根据已有的数据库信息生成Java类结构。一般步骤:1 生成包名和类声明 2 生成字段声明 3 生成set/get方法 4 写入指定路径数据库信息封装到了 MapStringBuffer sb=new StringBuffer();//存放一张表的javabean信息Map fields=Meta.get

2017-05-31 18:44:58 2098

原创 MetaData类获取数据库元数据操作

MetaData类简要介绍:MetaData类用来获取数据库的基本信息,分为两类:数据库元数据DatabaseMataData类和结果集元数据ResultSetMetaData类。主要用处:用于ORM概念,在由数据库表结构生成Java类结构时需要到此方法。参考手册:有些 DatabaseMetaData方法以 ResultSet 对象的形式返回信息列表。常规 ResultSet 方法,比

2017-05-30 18:56:25 3838

原创 项目一:SORM基本框架之基本思路

SORM:Simple Object Relationship Mapping 简单的对象关系映射项目,该项目是博主跟着视频学的,接下来的几篇博文将总结并复习理解这个项目所学到的知识。项目的目的:实现数据库的增删改查操作,将其封装成底层源码,供客户使用;使客户在使用Java操作数据库的代码更为简单。基本架构:1)核心包Query接口:SQL操作的对外接口,后期将其改为抽象类,封装所有数据

2017-05-28 19:35:57 9338 1

原创 ORM概念与编程操作

ORM: Object Relationship Mapping 对象关系映射,即Java中的对象与数据库中的关系之间的映射。ORM是使Java与数据库联系的具体操作,解决的问题:Java如何将执行SQL语句(一般是指查询操作)之后返回的结果进行存储?查询的结果有三种:结果为一个值,或一条记录,或多条记录。返回结果为一个值的容易处理,主要解决一条记录和多条记录的解决办法。三种解决办法:1)使用Ob

2017-05-28 15:44:59 662

原创 嵌入式SQL语言

Java对数据库进行操作的SQL字符串就是一个嵌入式的SQL语言,Java被称作宿主语言,即主语言。那么程序如何知道哪个是Java程序语言,哪个是SQL语言呢?区分嵌入式SQL语言和主语言的方法是作语法标记,不同的主语言对嵌入式SQL语言有不同的语法格式。如何让程序识别呢?通过预编译方法进行处理,DBMS使用预处理程序对源程序进行扫描,识别出嵌入式SQL语句,编译成主语言的函数调用语句进行调用。一

2017-05-28 08:51:05 4326

原创 事务的概念及数据库数据的输入与输出

上次总结到数据库SQL语句的准备和执行,以及批处理操作。事务事务是指一组数据库SQL操作语句,执行时要么全部成功,要么全部失败。这组SQL语句是指DML语句(insert  delete update)。其中有一条DML语句执行失败,则所有SQL操作失败,数据将回滚(rollback)到SQL语句操作前的状态。事务的四个特性:1)原子性:即执行时要么全部成功,要么全

2017-05-25 15:51:30 1029

原创 Statement接口以及Java相关SQL语句操作

数据库建立连接之后,便可进行SQL语句操作,而Java已经为我们封装好了相关的接口:Statement接口。接下来将总结其两个实现类(Statement,PreparedStatement)的获取和用法区别以及其它SQL语句操作。获取: 通过连接对象获取:Statement–>createStatement方法 PreparedStatement–>prepar

2017-05-24 15:33:53 1566

原创 Java数据库连接:JDBC接口

JDBC:Java Database Connection是Java数据库连接接口,是Java与数据库连接的桥梁。通过Java的Driver接口连接数据库,在此之前,需导入相关jar包(即数据库驱动器,不同类型的数据库有不同jar包,上网下载并导入即可)。下一步,导入之后通过Java反射机制获取驱动器,并使用Driver接口的实现类DriverManager获取数据库连接,即Connection类的

2017-05-23 15:51:38 1907

空空如也

空空如也

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

TA关注的人

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