自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

随风而逝的博客

有兴趣就加qq群555373607,什么都可以侃

  • 博客(447)
  • 资源 (3)
  • 收藏
  • 关注

转载 postgreSQL数据库limit分页、排序

postgreSQL数据库limit分页、排序语法:select*frompersonslimitAoffsetB;解释:A就是你需要多少行;B就是查询的起点位置。示例:select*frompersonslimit5offset0;意思是,起点0开始查询,返回5条数据。select*frompersonslimit5offset5;意思是,起点5开始查询,返回5条数据。...

2020-10-04 15:27:30 29

转载 Java 8 Stream

Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)

2020-10-04 15:10:08 26

转载 Java中try()catch{}的使用方法

今天撸代码的时候发现了一段这样的代码try( Connection conn=DriverManager.getConnection(url,user,pass); Statement stmt=conn.createStatement()) { boolean hasResultSet=stmt.execute(sql); } 和平常见的不一样,我们平常见的是这样的tr...

2020-10-04 15:01:56 309

转载 java.util.Timer基本使用

一、Timer基本使用在Java中为我们提供了Timer来实现定时任务,当然现在还有很多定时任务框架,比如说Spring、QuartZ、Linux Cron等等,而且性能也更加优越。但是我们想要深入的学习就必须先从最简单的开始。Timer方法摘要四种使用方式import java.util.Calendar;import java.util.Date;import java.util.Timer;import java.util.TimerTask; public class

2020-10-02 11:51:25 48

转载 cookie和session的详解和区别

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1 Cookie机制  在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另..

2020-10-02 11:50:44 83

转载 oracle中merge into用法解析

merge into的形式: MERGEINTO [target-table] AUSING [source-tablesql] BON([conditional expression]and [...]...) WHENMATCHEDTHEN [UPDATEsql] WHENNOTMATCHEDTHEN [INSERTsql] 作用:判断B表和A表是否满足ON中条件,如果满足则用B表去更新A表,...

2020-10-02 11:50:23 26

转载 Oracle 存储过程包(Package、Package Body)

初出茅庐,不知原来存储过程还可以写得如此复杂,而且还竟然可以调试!好吧,得整理一下存储过程的一些语法,以备以后用到时可以查阅。使用数据库:Oracle数据库工具:PL/SQL Developer在Oracle中使用存储过程可以声明单个存储过程,也可以使用包的方式一个存储过程包(PACKAGE)包含许多存储过程。编写单个存储过程的格式可以参考下面这个例子,这是最简单的存储过程例子: 1 2 3 4 5 6 7 8 9

2020-09-20 14:31:55 30

转载 postgresql中的序列nextval

一、postgresql中的序列1.1 场景需求需要向下图一样,需要对产品编码编码设置一个序列。编码规则SKU + 序列号:1.2 序列序列是基于bigint算法的,因此范围是不能超过一个八字节 整数的范围(-9223372036854775808 到 9223372036854775807)。由于nextval和setval调用绝不会回滚, 如果需要序数的"无间隙"分配,则不能使用序列对象。可以 通过在一个只包含一个计数器的表上使用排他锁来构建无间隙的分配, 但是这种方案比序列对象开.

2020-09-20 13:51:51 83

转载 Mybatis面试题总结

Mybatis面试题总结1. 最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?  答:Dao接口,就是人们常说的Mapper接口,接口的全限名,就是映射文件中的namespace的值,接口的方法名,就是映射文件中MappedStatement的id值,接口方法内的参数,就是传递给sql的参数。Mapper接口是没有实现类的,当调用接口方法时,接口全限名+方法名拼接字符串作为key值,可唯一定位一个M

2020-09-20 13:48:13 23

转载 结构化数据和非结构化数据、半结构化数据的区别

计算机信息化系统中的数据分为结构化数据和非结构化数据、半结构化数据。结构化数据结构化数据,是指由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。也称作行数据,一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。比如: id name gender phone address 1 ..

2020-09-20 13:42:01 26

转载 字符串转化为 List 集合

问题描述 Java中,我们有时需要对现有的字符串进行切割并转化成一个List集合。 解决方案 Java.lang 包中的 String.split() 方法可对现有的字符串进行切割,并返回一个字符串数组 String s = "张三 123,李四 456,王五 789";String[] str = s.split(","); 对 str 的遍历 所以我们可以用 Arrays.asList() 方法,将数组转化为 List 集合 List<String..

2020-09-20 13:38:45 26

转载 使用BigDecimal 将科学计数法变成普通的文本格式输出

BigDecimal是处理高精度的浮点数运算的常用的一个类当需要将BigDecimal中保存的浮点数值打印出来,特别是在页面上显示的时候,就有可能遇到预想之外的科学技术法表示的问题。一般直接使用 BigDecimal.toString()方法即可以完成浮点数的打印。如: System.out.println( new BigDecimal("10000000000").toString());但是,toString()方法输出的字符串并不能保证不是科学计数法。不过在日常的使用中...

2020-09-20 13:36:50 32

转载 postgresql行转列

问:怎么分页&&按条件&&按顺序&&姓名不重复查出数据?答:其实就是行转列,那么,postgresql怎么进行转列呢,百度了下,大概有三种写法写法1group by + sum + case whenselect name,sum(case when zbfm='年龄' then value else 0 end) as 年龄,sum(case when zbfm='身高' then value else 0 end) as ...

2020-09-20 13:31:18 57

转载 MyBatis从入门到精通(第6章):6.3 使用枚举或其他对象

6.3 使用枚举或其他对象在 sys_role 表中存在一个字段 enabled,这个字段只有两个可选值,0 为禁用,1 为启用。但是在 SysRole 类中,我们使用的是Integer enabled,这种情况下必须手动校验 enabled 的值是否符合要求。在只有两个值的情况下,处理起来还比较容易,但是当出现更多的可选值时,对值进行校验就会变得复杂。因此在这种情况下,我们通常会选择使用枚举来解决。6.3.1 使用 MyBatis 提供的枚举处理器在tk.mybatis.simple.ty..

2020-09-20 13:21:55 14

转载 MyBatis从入门到精通(第6章):MyBatis 高级查询->6.1.2高级结果映射之一对多映射

6.1 高级结果映射在关系型数据库中,我们经常要处理一对一、一对多的关系。在 RBAC 权限系统中还存在着一个用户拥有多个角色、一个角色拥有多个权限这样复杂的嵌套关系。使用已经学会的 MyBatis 技巧都可以轻松地解决这种复杂的关系。在面对这种关系的时候,我们可能要写多个方法分别查询这些数据,然后再组合到一起。这种处理方式特别适合用在大型系统上,由于分库分表,这种用法可以减少表之间的关联查询,方便系统进行扩展。但是在一般的企业级应用中,使用 MyBatis 的高级结果映射便可以轻松地处理这..

2020-09-20 13:20:42 13

转载 MyBatis从入门到精通(第6章):MyBatis 高级查询->6.1.1高级结果映射之一对一映射

6.1 高级结果映射在关系型数据库中,我们经常要处理一对一、一对多的关系。在 RBAC 权限系统中还存在着一个用户拥有多个角色、一个角色拥有多个权限这样复杂的嵌套关系。使用已经学会的 MyBatis 技巧都可以轻松地解决这种复杂的关系。在面对这种关系的时候,我们可能要写多个方法分别查询这些数据,然后再组合到一起。这种处理方式特别适合用在大型系统上,由于分库分表,这种用法可以减少表之间的关联查询,方便系统进行扩展。但是在一般的企业级应用中,使用 MyBatis 的高级结果映射便可以轻松地处理这..

2020-09-20 13:18:51 995

转载 (第4章):MyBatis动态SQL【foreach、bind、OGNL用法】

4.4 foreach 用法SQL 语句中有时会使用 IN 关键字,例如 id in(1,2,3)。可以使用 ${ids}方式直接获取值,但这种写法不能防止 SQL 注入,想避免 SQL 注入就需要用#{}的方式,这时就要配合使用 foreach 标签来满足需求。foreach 可以对数组、Map 或实现了Iterable 接口(如 List、Set)的对象进行遍历。数组在处理时会转换为 List 对象,因此 foreach 遍历的对象可以分为两大类:Iterable 类型和 Map 类型。这...

2020-08-23 16:47:59 77

转载 (第4章):MyBatis动态SQL【if、choose 和 where、set、trim】

MyBatis 的强大特性之一便是它的动态 SQL。MyBatis 3.4.6版本采用了功能强大的OGNL(Object-Graph Navigation Language)表达式语言,以下是MyBatis的动态SQL在XML中支持的几种标签。if choose(when、otherwise) trim(where、set) foreach bind本章除了讲解这几种标签的用法外,还会介绍如何在一个 XML 中针对不同的数据库编写不同的 SQL 语句,另外会对这 5 种标签中必须要用到的 ..

2020-08-23 16:42:55 78

转载 MyBatis从入门到精通(第3章):MyBatis注解方式的基本使用

这种方式的优点是 :对于需求比较简单的系统,效率较高。缺点是,当SQL有变化时都需要重新编译代码,一般情况下不建议使用MyBatis的注解方式。因此,(原书)本章不会进行深入讲解。在MyBatis注解SQL中,最基本的就是@Select 、@Insert 、@Update 和@Delete 四种。下面以 RoleMapper 为例,对这几个注解的用法进行讲解。3.1@Select 注解在 cn.bjut.simple.mapper.RoleMapper 接口中...

2020-08-23 16:36:37 43

转载 MyBatis从入门到精通(第2章):MyBatis XML方式的基本用法【insert用法、update用法、delete用法】

2.4 insert 用法2.4.1 简单的 insert方法在接口 UserMapper.java 中添加如下方法。 /** * 新增用户 * @param sysUser * @return */ int insert(SysUser sysUser);然后打开对应的 UserMapper.xml 文件,添加如下代码。<insert id="insert"> INSERT INTO sys_user..

2020-08-23 16:27:14 70

转载 MyBatis从入门到精通(第2章):MyBatis XML方式的基本用法【select用法】

本章将通过完成权限管理的常见业务来学习 MyBatis XML方式的基本用法。这个权限管理控制,采用RBAC(Role-Based Access Control,基于角色的访问控制)方式。2.1 一个简单的权限控制需求权限管理的需求:一个用户拥有若干角色,一个角色拥有若干权限,权限就是对某个模块资源的某种操作(增、删、改、查),这便是“用户-角色-权限”的授权模型。采用RBAC授权模型,用户与角色之间、角色与权限之间,一般是多对多的关系。2.1.1 创建数据库表在已经创建好的 .

2020-08-23 16:12:45 27

转载 第1章 Mybatis入门

1.1 Mybatis简介MyBatis是一款支持自定义SQL查询、存储过程和高级映射的持久层框架。消除了几乎所有JDBC代码和参数的手动设置以及结果集的检索。MyBatis可以使用XML或注解进行配置和映射。它通过将参数映射到配置的SQL最终形成执行的SQL语句,最后将执行的SQL的结果映射成Java对象返回。与其他的ORM(对象关系映射)框架不同,MyBatis并没有将Java对象与数据库表关联起来,而是将Java方法与SQL语句关联。MyBatis 支持声明式数据缓存(decla..

2020-08-23 15:57:44 42

转载 用户线程和守护线程

Java分为两种线程:用户线程和守护线程。  所谓守护线程,是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。  守护线程和用户线程的唯一不同之处就在于虚拟机的离开:如果用户线程已经全部退出运行了,只剩下守护线程存在了,虚拟机也就退出了。 因为没有了被守护者,守护线程也就没有工作可做了

2020-07-19 16:06:09 59

转载 Eclipse一直building workspace问题解决归纳

这样的问题我遇到两次。第一次因为未正确关闭(电脑没电,重复操作等奇葩情况)各种网上当资料整理以下几个解决方法:(1):找到eclipse所在目录下eclipse.ini,打开文件添加启动参数:–vmargs和-Xmx512m如下图所指(2):加大Eclipse运行可用最大内存数,打开eclipse.ini将-Xmx512m调高为-Xmx768m或如上图-Xmx1024m;(3):打开eclipse.ini文件添加一个命令 : -clean(4):关闭自动编译:打开eclipse点击pr...

2020-07-19 15:55:02 115

原创 java Stack的基本使用并且实现一个简单的计算器

package com.bobo.normal; import com.bobo.util.StringUtil; import java.util.Stack; /** * Created with IntelliJ IDEA. * User: bobo * Date: 2019/9/16 * Description: stack实现一个 +-*?的计算器 * 所得: * 去除无效字符的方式 * 计算器运算过程中符号的优先级优先级 '(' > '*' = .

2020-07-19 15:14:25 78

转载 加载web项目时报的错误:Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modul

用eclipse开发的servlet项目不能加载到tomcat6.0服务器,原因是:servlet的版本高了<installed facet="jst.web" version="3.0"/> 只要将version="3.0"改成version="2.5",然后重启eclipse即可!!!具体操作步骤:找到你的eclipse:D:\eclipse\workspace-jee\项目名称\.settings\org.eclipse.wst.common.project.facet.cor

2020-07-12 13:17:58 50

转载 http 500状态码

http请求返回500状态码,整体原因是:服务器内部错误。这个原因太过笼统,看了和没看直接懵逼。今天遇到这么一个崩溃的问题,这么大的范围,怎么找呢?然后,静下来打开思路,慢慢想一下,分析过程:1.客户端请求服务端的时候,返回500,首先服务端的请求发出去了,并且返回了500,错误定位到服务端。2.服务端里面代码竟然没有执行任何打印语句,说明还没有执行到逻辑,就已经出错了。3.这边服务端是lua语言写的,在这个文件的开头有这个加载文件的语句package.path = "../ta/?....

2020-07-12 11:37:03 239

转载 Java中Math函数的使用

Java中Math函数的使用说到Java中的Math函数,大家肯定不陌生,但是在真正使用的时候却犯了难,那么多方法,我们到底需要使用哪个呢?为此,我特地研究了一些Math常用函数的使用,以方便大家使用。算术计算Math.sqrt() : 计算平方根Math.cbrt() : 计算立方根Math.pow(a, b) : 计算a的b次方Math.max( , ) : 计算最大值Math.min( , ) : 计算最小值Math.abs() : 取绝对值System.out.prin

2020-07-11 23:01:24 107

转载 MySQL中order by语句对null字段的排序

默认情况下,MySQL将null算作最小值。如果想要手动指定null的顺序,可以使用:  1.将null强制放在最前:    if(isnull(字段名),0,1) asc //asc可以省略  2.将null强制放在最后    if(isnull(字段名),0,1) dsc     if(isnull(字段名),1,0) asc //asc可以省略对于这种使用方式的理解:  以if(isnull(字段名),0,1)为例,它的意思是将该字段根...

2020-07-11 16:10:18 110

转载 oracle的nvl和nvl2是什么函数

NVL2(expr1,expr2,expr3)  功能:如果参数表达式expr1值为NULL,则NVL2()函数返回参数表达式expr3的值;如果参数表达式expr1值不为NULL,则NVL2()函数返回参数表达式expr2的值。NVL( string1, replace_with)  功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。...

2020-07-11 16:10:06 83

转载 JAVA调用存储过程--传入集合参数

在写存储过程中经常会遇到把java中的arrayList转化为Oracle中数组,(arrayList中存的是一些java对象)简单总结一下.例:arrayList中存在一些people对象。1.首先要在数据库中建立相应的JAVA对象和数组CREATE TYPE peopleOracleObject AS OBJECT (   peopleOracleID NUMBER(8) ,   nameOracle varchar(50) ,   ageOracle N..

2020-07-11 15:31:02 127

转载 MySQL INSERT插入条件判断:如果不存在则插入

我们经常需要进行sql的批量插入,要求:该条记录不存在则插入,存在则不插入。如果使用一条INSERT语句实现呢?对于普通的 INSERT 插入,如果想要保证不插入重复记录,我们只有对某个字段创建唯一约束实现;那有没有不创建唯一约束,仅通过 INSERT INTO 一条语句实现的方案呢?答:使用 INSERT INTO IF EXISTS, 具体语法如下INSERT INTO table(field1, field2, fieldn)SELECT 'field1', 'field2',.

2020-07-11 15:27:57 258

转载 Mysql:如果数据存在则更新,不存在则插入

文章目录ON DUPLICATE KEY UPDATE 语法: 特点 REPLACE INTO 语法: 语句1:不存在则插入 语句2:存在则先删除后插入 特点 REPLACE 语法 参考DUPLICATE、REPLACE INTO、REPLACE三种方式如何更新数据?ON DUPLICATE KEY UPDATEmysql语法支持如果数据存在则更新,不存在则插入,首先判断数据存在还是不存在的那个字段要设置成unique索引。1语法:INSE.

2020-07-11 15:24:43 519

转载 Java 项目工程搭建 --创建子模块(依赖父工程)

这个建方比较干净,不会生成乱七八糟的东西,(建完以后,其它模块可以 Copy 改名字)选择 Maven 直接下一步只要输入一个AtifactId没有过多的依赖,适合专业人事建主启动程序建 controller,这边指定了路由@GetMapping(value = "/login") == @RequestMapping(value = "/login"...

2020-07-05 17:19:14 187

转载 SQL LCASE() 函数

LCASE() 函数LCASE() 函数把字段的值转换为小写。SQL LCASE() 语法SELECT LCASE(column_name) FROM table_name;用于 SQL Server 的语法SELECT LOWER(column_name) FROM table_name;演示数据库在本教程中,我们将使用 RUNOOB 样本数据库。下面是选自 "Websites" 表的数据:+----+--------------+---------------.

2020-07-05 16:44:54 130

转载 “Auto share projects位于git仓库”中的选项是什么?

每次我导入一个maven项目。剩下的任务总是出现在自动共享git项目(等待)。我在网路上挖, /禁用该选项,但是我想了解正在做什么,如果我需要它。我一直在做的是在命令行中创建/克隆项目,然后导入它在Eclipse中,那么我可以在EGit中执行所有的git工作。在这里,需要在git仓库中的自动共享项目位于git仓库选项情景或我可以禁用吗?简而言之:是的,该选项是必要的,否则您将不得不手动共享项目使用它所属的存储库。选项位于Git仓库中的自动共享项目通常可以为...

2020-07-05 16:41:13 172

转载 mysql 数据库的group_concat()使用方法

1.使用条件查询 查询部门为20的员工列表-- 查询部门为20的员工列表SELECT t.DEPTNO,t.ENAME FROM EMP t where t.DEPTNO = '20' ;效果:2.使用 group_concat() 将多行合并成一行(比较常用)语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )SELECT T.DEPTNO, gro...

2020-07-05 15:55:24 97

转载 oracle的 listagg() WITHIN GROUP () 行转列函数的使用

1.使用条件查询 查询部门为20的员工列表-- 查询部门为20的员工列表SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = '20' ;效果:2.使用 listagg() WITHIN GROUP () 将多行合并成一行(比较常用)SELECT T .DEPTNO, listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .ENAME) namesFROM...

2020-07-05 15:52:56 139

转载 索引:位图索引理解

1. 案例  有张表名为table的表,由三列组成,分别是姓名、性别和婚姻状况,其中性别只有男和女两项,婚姻状况由已婚、未婚、离婚这三项,该表共有100w个记录。现在有这样的查询: select * from table where Gender=‘男’ and Marital=“未婚”; 姓名(Name) 性别(Gender) 婚姻状况(Marital) 张三 男 已婚 ...

2020-07-04 00:43:19 63

转载 Maven中settings.xml的配置项说明

一.Maven的setting配置文件 和 在Eclipse中对Maven的正确配置。1.Maven的配置文件(Maven的安装目录/conf/settings.xml ) 和 Maven仓库下(默认的Maven仓库的是用户家目录下的.m2文件,可以另行制定)的settings.xml文件在Maven中提供了一个settings.xml文件来定义Maven的全局环境信息。这个文件会存在于Maven的安装目录的conf子目录下面,或者是用户家目录的.m2子目录下面。我们可以通过这个文件来定义本地仓库、

2020-07-04 00:39:49 68

系统架构师论文范文50篇.pdf

自己用的,这个东西还不错,保留着,自己看,怎么凑够50个字呢?

2019-08-06

tomact类加载器架构

用Visio做的tomact类加载器架构,用于学习目的,

2019-01-09

早餐店布局(持续更新中)

传统早餐店布局,由于经常去外面过早,发现有的早餐店设计得不是很合理,所以使用visio来表示目前早餐店中布局情况,分析其中得利弊,看那种布局比较好。

2018-11-05

空空如也

空空如也

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

TA关注的人 TA的粉丝

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