wunianisme的博客

一个学习Java的程序猿,微信公众号:人玉林风,简书:勿念及时雨,欢迎各位大佬指教!
私信 关注
wunianisme
码龄6年

Java开发工程师 微信公众号:人玉林风 简书:勿念及时雨

  • 255,767
    被访问量
  • 269
    原创文章
  • 15,983
    作者排名
  • 24
    粉丝数量
  • 目前就职 广州市纳诺科技股份有限公司
  • 于 2015-07-08 加入CSDN
获得成就
  • 获得77次点赞
  • 内容获得34次评论
  • 获得369次收藏
荣誉勋章
兴趣领域
  • #后端
    #Java
TA的专栏
  • 爱编程
    29篇
  • Java
    146篇
  • PHP
    3篇
  • Redis
    5篇
  • 数据库
    13篇
  • 前端
    44篇
  • Android
    5篇
  • Linux
    11篇
  • 科普学习
    4篇
  • nginx
    2篇
  • docker
    4篇
  • HTTP
    3篇
  • ElasticSearch
    2篇
  • Jenkins
    5篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

POI实际应用之POI简介

POI是什么?Apache POI是Apache软件基金会的开放源码函式库,它提供了一系列API给JAVA程序实现对Microsoft Office格式文档的读写功能。官网地址:http://poi.apache.org对于不同格式的文档,POI提供了不同的结构来实现读写功能:HSSF,提供对Microsoft Excel格式文档的读写功能(03版Excel,文件扩展名为.xls,最多只能存65536行数据)。XSSF,提供对Microsoft Excel OOXML格式文档的读写功能(07版E
原创
63阅读
0评论
0点赞
发布博客于 2 月前

对象存储OSS之头像上传实现

学习完了OSS,我们来实现一个头像上传功能。基本思路就是在前端上传一个本地文件,点击上传按钮将其上传到阿里云服务器上,后台文件上传功能需要使用到OSS的API来实现。头像上传1、在前端项目中新增文件上传页面form.vue,使用image-cropper组件来显示头像,添加更换头像按钮,绑定点击事件,并向后台上传接口发送请求(在image-cropper组件中配置:url属性)。<template> <div class="app-container"> <e
原创
39阅读
0评论
0点赞
发布博客于 2 月前

对象存储OSS之创建OSS微服务

之前已经学习了OSS的一些基本API,接下来可以在微服务中使用它了。创建OSS微服务1、创建SpringBoot微服务wunian-edu-oss,然后在pom.xml中导入相关依赖。<!-- 配置OSS依赖 --><dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri
原创
103阅读
0评论
0点赞
发布博客于 2 月前

对象存储OSS之测试OSS的基本API

经过之前的学习,我们已经开通了阿里云OSS服务并配置了测试账号权限,接下来就可以开始学习OSS的基本API了。如何快速的掌握使用一门技术?快速掌握使用一门技术,是每个程序员都要掌握的基本能力。一般只需要做到以下两点:1、查看官方文档2、练习基本的API阿里云OSS帮助文档阿里云OSS的API都在帮助文档里,我们首先要做的就是找到帮助文档。步骤如下:1、进入概览页面,点击右上角“开始使用阿里云OSS”。2、打开帮助文档,往下拉可以找到OSS针对不同编程语言提供的API和SDK包。我们这里点击
原创
88阅读
0评论
0点赞
发布博客于 2 月前

对象存储OSS之获取测试账号权限

之前我们学习了如何开通阿里云OSS服务和创建Bucket,并且上传了一张图片,接下来就来学习一下如何获取测试账号权限。获取测试账号权限1.在Bucket列表页,点击右上方账号头像,点击“AccessKey管理”。2、在弹出的“安全提示”框中点击“开始使用子用户AccessKey”。AccessKey是访问阿里云API的密钥,具有该账户完全的权限。注意这里为了安全必须选择使用子权限。3、点击“用户组”,然后点击“创建用户组”,在弹出的表单中填写用户组名称、显示名称和备注,然后点击“确定”,然后出现
原创
24阅读
0评论
0点赞
发布博客于 2 月前

对象存储OSS之阿里云OSS介绍及开通

数据、文件存储方式一般,数据、文件的存储主要有以下几种方式:MySQL数据(MySQL)+文件(本地IO流)数据(MySQL)+缓存(Redis)+文件(服务器集群、fastDFS(集群)、hdfs(大数据))数据(MySQL)+缓存(Redis)+文件(OSS)对象存储OSS什么是OSS?对象存储OSS是为了解决海量数据存储和弹性扩容问题,我们这里采用的是阿里云OSS存储。阿里云官网对对象存储OSS的介绍如下:海量、安全、低成本、高可靠的云存储服务,提供99.9999999999
原创
61阅读
0评论
0点赞
发布博客于 2 月前

前后端联调实例-讲师管理

之前学习了一下前后端联调的一般步骤和Nginx的简单配置,现在以讲师管理功能为例来实战一下。项目环境后端:SpringBoot + MyBatisPlus +MySQL+Nginx前端:vue-cli + axios后端1、编写讲师管理Controller,包含根据id删除讲师、分页查询讲师列表、新增讲师等请求接口。@Api(description = "讲师管理")@RestController@RequestMapping("/admin/edu/teacher")@CrossOrig
原创
62阅读
0评论
0点赞
发布博客于 3 月前

前后端联调的一般步骤和Nginx简单配置

前后端联调的一般步骤1、创建前端工程(这里创建的是vue-cli项目)2、编写后端登录业务3、替换页面元素为自己需要的,比如图标,标题之类的4、编写前端页面Vue组件5、编写跳转到组件的路由(router/index.js)6、如果需要从后端获取数据,使用Axios异步通信,默认框架中使用了request封装请求BASE_API:'"http://localhost:8120'7、编写处理后端接口的js函数import request from '@/utils/request'ex
原创
166阅读
0评论
0点赞
发布博客于 3 月前

WunianEdu系统开发-底层微服务搭建

数据库搭建创建数据库wunian_edu,创建多张数据库表并插入一些数据。建表SQL如下:CREATE TABLE `edu_chapter` ( `id` char(19) NOT NULL COMMENT '章节ID', `course_id` char(19) NOT NULL COMMENT '课程ID', `title` varchar(50) NOT NULL COMMENT '章节名称', `sort` int(10) unsigned NOT NULL DEFAULT.
原创
23阅读
0评论
0点赞
发布博客于 3 月前

WunianEdu系统简介

功能简介WunianEdu系统是以提高IT人员技能为核心,采用个性化、随到随学的学习模式, 为学员提供高效学习路线,打造最适合在线学习的优质教学产品和服务。WunianEdu是一个B2C模式的职业技能在线教育系统,分为前台用户系统和后台运营平台。前台用户系统包括课程、问答、文章三大部分。后台运营平台包括会员管理、讲师管理、课程管理、文章资讯、统计分析等系统功能。系统使用了前后端分离架构。后端的主要技术架构为:SpringBoot + SpringCloud + MyBatis-Plus + My
原创
96阅读
0评论
0点赞
发布博客于 8 月前

浅谈在线教育

什么是在线教育?在线教育,是以网络为媒介的教学方式,通过网络,学员与教师即使相隔万里也可以开展教学活动;此外,借助网络课件,学员还可以随时随地进行学习,真正打破了时间和空间的限制,对于工作繁忙,学习时间不固定的职场人而言网络远程教育是最方便不过的学习方式。起源在线教育起源于一位名为萨尔曼·可汗的孟加拉裔美国人,他在美国创办了可汗学院。他仅仅靠自己一个人就制作了有关数学、物理、化学、生物、天文学等科目2300多部教学视频,利用视频技术改革传统教学手段,向全世界提供免费的高品质教育。全球有5600万中小学
原创
946阅读
0评论
0点赞
发布博客于 8 月前

MyBatis-Plus快速入门

简介什么是MyBatis-Plus?MyBatis-Plus(以下简称MP),为简化开发而生。MP是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变。MP的特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持
原创
255阅读
0评论
0点赞
发布博客于 8 月前

Element-ui和vue-element-admin学习

Element-ui什么是Element-ui?根据官网的说法,Element-ui,是一套为开发者、设计师和产品经理准备的基于Vue 2.0的由饿了么公司出品的桌面端组件库。官网:https://element.eleme.cn/#/zh-CN如何使用?1、创建文件夹element-ui。2、下载组件。npm install vue #安装Vuenpm i element-ui -S #安装Element-ui3、为了代码更加清爽,可以将主要依赖vue.min.js和elem
原创
672阅读
0评论
0点赞
发布博客于 9 月前

标准前端化工程 Vue-cli

知识回顾在学习Vue-cli之前,我们已经学习了前端体系、前后端分离的演变、Vue入门、Vue的基本语法、Vue组件、Vue路由、Axios等内容。接下来我们就来学习标砖前端化工程Vue-cli。Vue-cli什么是Vue-cli?Vue-cli是官方提供的一个脚手架工具,我们可以利用它快速生成前端化的工程模板,十分方便好用。其功能主要有:统一的目录快速调试单元测试在线运行…环境安装使用npm进行全局安装,如果是首次安装可能速度会有点慢。npm install vu.
原创
129阅读
0评论
0点赞
发布博客于 9 月前

Vue快速入门

MVVM模式什么是MVVM模式?MVVM(Model-View-ViewModel)是一种软件架构设计模式,由微软 WPF(用于替代 WinForm,以前就是用这个技术开发桌面应用程序的)和 Silverlight(类似于 Java Applet,简单点说就是在浏览器上运行的 WPF) 的架构师 Ken Cooper 和 Ted Peters 开发,是一种简化用户界面的事件驱动编程方式。 ...
原创
221阅读
0评论
0点赞
发布博客于 9 月前

学习Vue之前-快速了解前端体系和前后端分离的演变史

前端体系想要成为真正的互联网Java全栈工程师,前端是绕不开的一门必修课。接下来我们就来认识前端、了解前端、掌握前端,为成为互联网Java全栈工程师而前进。前端三要素前端三要素为:HTML(结构):超文本标记语言(Hyper Text Markup Language),决定网页的结构和内容。CSS(表现):层叠样式表(Cascading Style Sheets),设定网页的表现样式...
原创
458阅读
0评论
1点赞
发布博客于 10 月前

大前端进阶

我们知道,前端的基础无非就是:HTML+CSS+JS(jquery)+UI框架+…从现在开始,我们要学习进阶的前端技术,内容包括VSCode的使用、Node.js、ES6语法、NPM、Babel、模块化和Webpack。VSCode的使用VSCode是一个前端的代码编辑器,非常受前端开发者的青睐。我们先来学习一下它的安装和使用方法。1、从官网上下载VSCode,下载地址: https://...
原创
139阅读
0评论
1点赞
发布博客于 10 月前

富文本编辑器Editormd的配置使用

我们经常可以看到各个博客网站中用于编辑文章的富文本编辑器,在富文本编辑器中,我们可以对我们的编辑内容样式进行设置。富文本编辑器一般是通过插件来实现的,我们只需要在页面中配置一下插件提供的一些API即可。本例中使用Editormd来演示如何配置使用富文本编辑器。Editormd简介Editormd是国内开源的一款在线Markdown编辑器,可嵌入的 Markdown 在线编辑器(组件),基于...
原创
1272阅读
0评论
0点赞
发布博客于 10 月前

SpringSecurity权限控制

初识SpringSecurity学习思路了解SpringSecurity是什么。查看官网简介。简单快速阅读官方文档。经过一段时间的学习,我们知道构建一个SpringBoot项目只需要三步:导入maven依赖。配置相关文件。编写测试代码。安全框架在Web开发中,安全一直是一个十分重要的环节。它是一种非功能性的需求,但是对于一个系统十分重要,我们一般都会使用一些组件...
原创
267阅读
0评论
0点赞
发布博客于 10 月前

SpringBoot开发单体应用(三)

单体开发进阶SpringBoot的Web开发之路众所周知,CRUD是每个程序员的必经之路。作为一个初级程序员,只要能够独立开发出一个简单的CRUD系统即可,例如OA系统、CRM管理系统、基于表单的CRUD系统等。简单来说,分布式开发是后端提供接口,前端接收信息进行渲染;单体开发是后端提供数据,前端获取数据进行渲染。从开发流程来说,单体开发和分布式开发本质上并没有区别,只是用到的技术和思...
原创
466阅读
0评论
0点赞
发布博客于 10 月前

SpringBoot开发单体应用(二)

页面国际化国际化,英文名叫internationalization,因为中间有18个字母,又叫i18n。我们平时工作或者开发一些网站时,尤其是国际网站,国际化是必须要做的事情。准备工作首先需要保证配置文件的编码格式是UTF-8,否则可能出现页面乱码的情况。选择File->Settings,搜索File Encodings进行设置。测试使用1、建立不同语言的配置文件。在r...
原创
127阅读
0评论
0点赞
发布博客于 10 月前

SpringBoot开发单体应用

Web开发探究SpringBoot的最大特点:自动装配。使用SpringBoot的步骤:1、创建一个SpringBoot应用,选择模块、然后等待项目构建完成即可。2、编写一些需要的配置文件。3、专注于编写业务代码。其余东西不需要手动配置。配置相关的类:xxxAutoConfiguration:向容器中自动配置组件。xxxProperties:自动配置类,封装配置文件的内容。静...
原创
202阅读
0评论
0点赞
发布博客于 11 月前

SpringBoot操作数据库

SpringData简介对于数据访问层,无论是SQL还是NoSQL,在SpringBoot 底层都是采用SpringData来进行封装的。官网地址:https://spring.io/projects/spring-data使用IDEA构建项目时,我们可以勾选SpringData相关依赖。如上图界面所示,Spring提供了很多工具供我们使用,它封装了大量的模板,在Template En...
原创
167阅读
0评论
0点赞
发布博客于 11 月前

SpringBoot入门及原理

SpringBoot的诞生什么是Spring?现代化的java开发主要就是面向Spring开发。Spring是一个开源框架,它由Rod Johnson在2003年创建。它是为了简化企业级开发而创建的。Spring是十分优雅的,这是因为它的创始人是一位音乐学博士,某种意义上说,它是一个含有艺术基因的框架。Spring是如何简化开发的?1、JavaBean代表着一个个要new的对象...
原创
107阅读
0评论
0点赞
发布博客于 1 年前

深入理解JVM(二)

GC详解GC的作用域GC的作用域如下图所示。关于垃圾回收,只需要记住分代回收算法,即不同的区域使用不同的算法。不同区域的GC频率也不一样:年轻代:GC频繁区域。老年代:GC次数较少。永久代:不会产生GC。一个对象的历程一个对象的历程的如下图所示。JVM在进行GC时,并非每次都是对三个区域进行扫描的,大部分的时候都是对新生代进行GC。GC有两种类型:普通GC...
原创
98阅读
0评论
0点赞
发布博客于 1 年前

如何修改Typora中的markdown样式

Typora是一款优秀的markdown文本编辑器,可以用markdown语法来编辑文本的样式,它默认含有GitHub、Newsprint、Night、Pixyll、whitey五种主题。如果对这些主题的默认样式不满意也可以去自定义markdown样式。1.启动Typora编辑器,选择文件-偏好设置。2.在通用-高级设置中勾选开启调试模式。3.在外观-主题中点击打开主题文件夹按钮。4...
原创
1315阅读
0评论
0点赞
发布博客于 1 年前

深入理解JVM

JVM的位置JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM的位置如下图所示。JVM运行在操作系统之上,对于不同的操作系统需要运行不同的JVM。因此:Java程序是跨平台的,但JVM不跨平台。JVM的体系架构图JVM的体系架构如下图所示。重点关注...
原创
102阅读
0评论
0点赞
发布博客于 1 年前

JUC并发编程(三)

常用辅助类CountDownLatchCountDownLatch,是一种减法计数器。CountDownLatch主要有两个方法:await()会阻塞线程,等待计时器归零。countDown()会令计数器减1。例如,创建6个线程,需要等待这6个线程执行完再在主线程中输出“main End”。代码如下:package com.wunian.juc.help;import jav...
原创
134阅读
0评论
0点赞
发布博客于 1 年前

JUC并发编程(二)

读写锁写锁:也叫独占锁,一次只能被一个线程占有。读锁:也叫共享锁,该锁可以被多个线程占有。ReadWriteLock,即读写锁,正如它的名字一样,它包含了读锁和写锁,一个用于只读操作,一个用于写入操作,我们先来看看JDK文档中对它的说明。创建一个读写锁对象:ReadWriteLock readWriteLock = new ReentrantReadWriteLock();加读锁和...
原创
142阅读
0评论
0点赞
发布博客于 1 年前

JUC并发编程

JUC是什么?JUC,即java.util.concurrent包的缩写,是java原生的并发包和一些常用的工具类。线程基础知识线程和进程进程:计算机中运行中的程序,如QQ.exe等。线程:进程中执行的具体的任务,如打字、自动保存等。一个进程可以包含多个线程,一个进程至少有一个线程。Java程序至少有两个线程:GC线程和Main线程。并发和并行并发:多个线程操作同一个资源并且交替...
原创
90阅读
0评论
0点赞
发布博客于 1 年前

把0到9的数字转换成电话按钮上的字母

问题给定一个包含[0,9]中数字的整数数组,任务是打印所有可能的字母数字可以表示的组合,数字到字母的映射(就像在电话按钮上)正在被跟踪,注意0和1不映射到任何字母。所有映射如下图所示:写一个程序把0到9的数字转换成字母,且程序需要支持将0到99的数字转换成字母。例如:Input:arr[] ={3,4}Output: DG DH DI EG EH EI FG FH FIInput:...
原创
583阅读
0评论
0点赞
发布博客于 1 年前

Spring Cloud服务注册与发现

Spring Cloud服务注册与发现,需要使用到Eureka组件。1.创建maven主工程创建maven主工程springcloud-demo,在pom文件中引入相关依赖,Spring Boot版本为2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE,此pom文件作为整个项目的父pom文件,具有依赖版本控制的作用,其他module工程继承此pom。po...
原创
54阅读
0评论
0点赞
发布博客于 2 年前

curl的安装与配置

curl简介curl是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。curl还包含了用于程序开发的libcurl。curl的下载安装1.进入官网,找到页面上的curl-7.64.1.cab,点击进行下载 。下载地址:https://skanthak.homepage.t-online.de/...
原创
191阅读
0评论
0点赞
发布博客于 2 年前

查看Java字节码的几种方式

我们都知道,Java字节码文件是不能直接打开的,但是如果我们想查看Java字节码文件怎么办呢?现在就来给大家介绍几种查看Java字节码的方式。Intellij IDEA中查看Java字节码IntelliJ IDEA为我们提供了查看字节码的工具,选中字节码文件,点击View->Show Bytecode即可直接进行查看,非常方便。Eclipse中查看Java字节码在Eclipse中查看...
原创
210阅读
0评论
0点赞
发布博客于 2 年前

Spring Cloud常用配置

Spring Cloud的配置一般配置在application.properties或者application.yml文件中,在进行分布式配置时,也会使用到bootstrap.properties或bootstrap.yml配置文件。下面我们就来看看在Spring Cloud中一些经常使用到的配置吧。Eureka配置设置当前实例的主机名称。eureka.instance.hostname...
原创
46阅读
0评论
0点赞
发布博客于 2 年前

Netty实现客户端与服务端通信

实现一个客户端与服务端通信的程序,可以使用socket网络编程来实现,而Netty作为一个封装了JDK的NIO通讯的异步事件驱动的网络应用框架,也同样可以实现。1.创建Maven项目,在pom文件中引入Netty依赖。<dependency> <groupId>io.netty</groupId> <artifactId>netty-al...
原创
166阅读
0评论
0点赞
发布博客于 2 年前

Netty reactor线程步骤和启动服务流程

reactor线程步骤reactor线程执行主要分为三个步骤,并且这三个步骤是不断的循环执行的。1.轮询注册到reactor线程对应的selector上的所有channel的IO事件。select(wakenUp.getAndSet(false));if (wakenUp.get()) { selector.wakeup();}2.处理产生网络IO事件的channel。pr...
原创
90阅读
0评论
0点赞
发布博客于 2 年前

IntelliJ IDEA配置Jetty的两种方式

方式一:在Maven中配置Jetty插件1.创建一个Maven项目,在pom.xml文件中配置Jetty插件,注意插件版本应该与Jetty版本保持一致。<pluginManagement> <!--配置 Jetty 插件--> <plugins> <plugin> <groupId>org.eclipse....
原创
676阅读
0评论
0点赞
发布博客于 2 年前

Java单元测试简介

什么是单元测试?单元测试是对软件或程序的基本(最小)组成单元的测试。其对象针对的是类和方法。其特点是可重复执行、执行速度快、相互独立、结果不变。单元测试的意义使我们更了解需求快速验证方便重构更早发现程序问题目标明确JUnit4JUnit4是以org.junit为框架进行的测试,通过注解的方式来识别测试方法。常用注解@BeforeClass 全局只会执行一次,而且是第一...
原创
36阅读
0评论
0点赞
发布博客于 2 年前

如何撤销git add操作

问题我们有时候使用git add操作可能会不小心把不需要添加的文件也添加进来,这个时候如果直接git commit的话会把这些错误添加的文件也提交上去,这个时候应该怎么办呢?解决方案git reset 文件名使用上述命令即可撤销指定文件的git add操作了,如果想要撤销所有文件的git add操作,则只需要把文件名替换成.就行了,即git reset ....
原创
563阅读
0评论
0点赞
发布博客于 2 年前

Java提交Http Get和Post请求的通用方法

以往我们提交Http Get请求和Post请求时,一般会根据请求方式分别编写方法进行调用,以下方法则将两种请求的调用方式进行了整合,这样以后调用请求的时候就不需要考虑请求方式是Get还是Post,通通只要调用此方法就行了。代码如下:public static ServiceResult sendRequest(String url, String obj, Map<String, Stri...
原创
82阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ创建生产者和消费者

创建生产者代码示例:public class Producer { //RabbitMQ服务器地址 public final static String host="192.168.1.1"; //RabbitMQ端口 public final static int port=5672; //RabbitMQ虚拟主机 public static f...
原创
298阅读
2评论
0点赞
发布博客于 2 年前

如何遍历session中的所有属性和值

在JavaEE中,我们通常会使用如下方法为session创建一个属性并设置其值。session.setAttribute(String name,String value)然后使用如下方法获取该属性的值,返回值类型为String。session.getAttrinbute(String name)如果想取出session的所有属性和值,可以使用如下方法。session.getAttr...
原创
965阅读
1评论
1点赞
发布博客于 2 年前

Java Cookie常用方法介绍

什么是Cookie?Cookie翻译成中文是小甜点,小饼干的意思。Cookie是以键值对形式存储在客户端主机硬盘中,由服务器端发送给客户端,客户端再下一次访问服务器端时,服务器端可以获取到客户端Cookie缓存文件。Cookie是由服务器端创建的,然后由服务器端发送给客户端,客户端以键值对形式存储Cookie,并标注Cookie的来源。客户端再次访问服务器端时,存储的Cookie会保存在请求...
原创
249阅读
0评论
0点赞
发布博客于 2 年前

HTTP/1.1 首部字段速览

通用首部字段Cache-Control控制缓存的行为。Connection逐跳首部、连接的管理。Date创建报文的日期时间。Pragma报文指令。Trailer报文末端的首部一览。Transfer-Encoding指定报文主体的传输编码方式。Upgrade升级为其他协议。Via代理服务器的相关信息。Warning错误通知。请求首部字段Accept用户代理可...
原创
39阅读
0评论
0点赞
发布博客于 2 年前

MySql coalesce函数

语法coalesce(str1,str2,str3,…,default)str1,str2,str3:参数,但是最终只会返回最左边那个非空参数的值。default:当前面所有的表达式值都为NULL的时候,返回此参数的值。MySql中的coalesce()函数用于返回参数中的第一个非空表达式,顺序为从左往右。与nvl()函数的对比这个函数其实和nvl()函数的作用基本是一样的,只不过...
原创
83阅读
0评论
0点赞
发布博客于 2 年前

MySql递归查询实现父子查询

父子查询根据父id查询下面所有子节点数据。功能需求我们这里以sec_org(部门表)为例,在一个部门表里面包含org_id(子部门id)、parent_org_id(父部门id)、org_name(子部门名称)等字段,我们要实现通过传入一个部门id,查询出它下面的所有子部门记录的功能。具体实现我们可以通过Mysql函数的递归调用来实现。1.创建函数getChildrenOrg。CRE...
原创
1859阅读
0评论
0点赞
发布博客于 2 年前

FineReport报表工具如何实现报表查询和分页显示

FineReport是一款报表设计工具,可以根据需要设计各种不同样式的报表,并且可以通过网页进行访问。最近在做一个报表,要实现查询和分页的功能,经过一番研究后终于实现了,在此做一个总结。查询1.首先我们需要创建一个数据集,数据集一般是一个查询的SQL语句,然后在中间的表格中创建报表,拖动数据集中的数据列到报表列中以填充数据。2.点击报表上方的铅笔图标,出现一块白色区域,可以拖动上方的控件...
原创
1437阅读
0评论
1点赞
发布博客于 2 年前

js如何判断浏览器版本

获取浏览器版本信息调用navigator对象的userAgent属性可以获取到浏览器版本,型号,内核,甚至安装的插件等信息。navigator.userAgent主流浏览器的userAgent信息一些主流浏览器的部分版本userAgent信息如下表所示:浏览器及版本userAgent信息IE7Mozilla/4.0 (compatible; MSIE 7.0; W...
原创
261阅读
0评论
0点赞
发布博客于 2 年前

使用highlight.js实现代码高亮

1.访问highlight.js官网,勾选你需要的语言,然后点击download按钮开始下载highlight.js插件。下载地址:https://highlightjs.org/download/2.将下载好的文件目录拷贝到项目中,在html页面中引用下面的文件和脚本代码:<link rel="stylesheet" href="/highlight/styles/default....
原创
744阅读
0评论
1点赞
发布博客于 2 年前

使用shell脚本获取当前系统日期和时间

获取今天日期和时间1.date +%Y%m%d_%H%M%S,输出格式:20191101_1817042.date +%F,输出格式:2019-11-013.$(date -d today +%Y%m%d_%H%M%S),输出格式:20191101_182037获取昨天日期和时间1.date -d yesterday +%Y%m%d_%H%M%S,输出格式:20191031_184709...
原创
4902阅读
0评论
3点赞
发布博客于 2 年前

Jenkins部署Maven项目到远端服务器的一般步骤

1.将jenkins.war文件拷贝到Tomcat的webapps目录下,启动Tomcat,访问http://localhost:8080/jenkins,输入账号密码登录控制台。2.在Manage Jenkins菜单下点击Global Tool Configuration选项,配置Maven、JDK、Git等工具。3.在Manage Jenkins菜单下点击Manage Plugin选项,...
原创
229阅读
0评论
1点赞
发布博客于 2 年前

Linux执行.sh脚本文件报错:bad interpreter:No such file or directory

问题在windows下使用记事本打开deploy.sh文件,编写.sh脚本,保存后拷贝到Linux服务器上,执行后报如下错误。[root@i-dbb1f0ff shell]# ./deploy.sh-bash:./deploy.sh:/bin/bash^M:bad interpreter:No such file or directory原因.sh脚本在windows系统下编写,因此可...
原创
515阅读
0评论
1点赞
发布博客于 2 年前

Linux如何查看和设置DNS服务器地址

查看DNS服务器地址查看DNS配置文件,文件中的nameserver地址就是DNS服务器的地址。DNS配置文件的路径为:/etc/resolv.conf。[root@i-dbb1f0ff network-scripts]# cat /etc/resolv.conf; generated by /usr/sbin/dhclient-scriptnameserver 192.20.1.1na...
原创
1823阅读
0评论
1点赞
发布博客于 2 年前

如何查看Linux操作系统版本信息

uname -a查看linux内核的版本号。[root@i-dbb1f0ff ~]# uname -aLinux i-dbb1f0ff 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linuxcat /proc/version查看linux内核的版本号和RedHat...
原创
628阅读
0评论
0点赞
发布博客于 2 年前

jQuery根据属性或属性值获取元素的几种选择器

根据属性获取元素例如要获取div中含有class属性的元素。$("div[class]")根据属性值获取元素在选择元素的时候使用[attribute$=value],匹配给定的属性是以某些值结尾的元素。HTML代码<input name="username" /> <input name="password" /> <input name="newp...
原创
2054阅读
0评论
0点赞
发布博客于 2 年前

localStorage和sessionStorage

HTML5 Web存储包括localStorage和sessionStorage,HTML5 Web是以键值对的形式存储于客户端,通常存储的数据类型为字符串。localStoragelocalStorage能够永久存储,除非主动清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端中保存,不参与和服务器的通信。常用方法如下:1.保存数据到本地...
原创
35阅读
0评论
0点赞
发布博客于 2 年前

js获取js文件传递的参数

在使用script标签将一个js文件引入到另一个前端页面时,遇到需要传递参数的情况,并且在被引入的js代码中需要对传递的参数进行获取。传递参数的方法很简单,就是像访问URL地址一样在script标签的src属性中引入的文件路径后面添加?参数名=参数值,如果要传递多个参数则用&连接。<script src="http://localhost:8080/opas-web/script...
原创
1301阅读
0评论
0点赞
发布博客于 2 年前

如何在Linux后台运行SpringBoot项目

启动SpringBoot项目的三种方式运行主方法启动。使用mvn spring-boot:run在命令行启动。使用mvn package进行打包时,会打包成一个可以直接运行的 JAR 文件,使用java -jar命令可以直接运行。在开发时,我们通常会使用前两种方式,但是在项目部署时一般会采用第三种方式,但是我们都知道当使用java -jar来运行的时候,项目并不是在后台运行,当我们退出...
原创
1177阅读
0评论
1点赞
发布博客于 2 年前

如何将SpringBoot项目部署到外部Tomcat

我们都知道SpringBoot是内置了Tomcat的,因此在开发调试的时候,我们直接点击运行按钮就可以直接启动SpringBoot项目。但如果我们现在需要将它部署到某台服务器上Tomcat上时,又该怎么做呢?如果对项目直接进行打包放到Tomcat上显然是行不通的,我们需要对项目进行一些配置才能使它在外部Tomcat上运行。1.首先需要添加如下依赖以屏蔽SpringBoot内置的Tomcat容器,...
原创
140阅读
0评论
0点赞
发布博客于 2 年前

Linux如何查看某个端口状态

1.查看具体端口号的状态。如果是非root用户,命令前还要加sudo进行提权。netstat -anp |grep 端口号假设端口号为3306,执行命令后结果如下:tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 26661/mysqld如上所示监控状态为LISTEN表示已经被占用,最后一列显示被mysqld这个服务占用。2.查看...
原创
2412阅读
0评论
0点赞
发布博客于 2 年前

Linux如何安装JDK和Tomcat

安装JDK1.在/目录下建立work目录。cd /mkdir work2.将JDK安装文件jdk1.8.0_112.tar.gz拷贝到work目录(建议使用xftp进行操作),并且解压到当前目录。tar -zxvf jdk1.8.0_112.tar.gz3.编辑系统配置文件/etc/profile,在文件尾部添加Java环境变量。export JAVA_HOME=/work/jd...
原创
33阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot如何使用Swagger2生成接口文档

Swagger是什么?Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful风格的Web服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger的作用主要有以下两点:接口的文档在线自动生成。功能测试。在SpringBoot中使用Swagger2生成接口文档1....
原创
203阅读
0评论
0点赞
发布博客于 2 年前

location.href的几种用法

location.href在js中,location.href经常用于页面跳转。它主要有如下几种用法:1.在当前页面打开URL页面。需要注意的是window.location.href=window.location.href与window.location.reload()都是刷新当前页面,但是如果页面上有提交数据的时候,window.location.reload()会提示是否提交。se...
原创
148阅读
0评论
0点赞
发布博客于 2 年前

解决Servlet重定向时url中文参数乱码问题

问题最近在开发中遇到了在Servelet中使用response.sendRedirect(url)进行页面重定向时,由于url中含有中文参数而导致跳转时url出现乱码现象而导致页面无法访问的问题。解决方案在url参数中如果携带了中文字符,一般都需要在服务端进行编码处理,否则就会出现乱码问题。因此只需要对含有中文字符的参数进行编码后再拼接到url中再进行跳转即可。//对含有中文的参数进行编码...
原创
861阅读
2评论
2点赞
发布博客于 2 年前

解决${xxx}赋值给js变量时取不到值的问题

问题最近开发时,在用JSP页面中有如下代码:<%request.setAttribute("contextPath",request.getContextPath());%><script> var Global={}; Global.contextPath='${contextPath}';</script>按照正常的执行结果,...
原创
583阅读
0评论
0点赞
发布博客于 2 年前

Tomcat8如何配置项目appBase和docBase

在Tomcat8中,配置文件路径在Tomcat安装目录下的conf/server.xml,打开此文件,可以看到底部的Host标签中的内容。<Host name="localhost" appBase="/work/web-site/dism" unpackWARs="true" autoDeploy="true"> ...
原创
1123阅读
0评论
0点赞
发布博客于 2 年前

使用pdf.js实现在线查看pdf文件

pdf.js是一个使用HTML5构建的可移植文档格式库。它可以帮助我们在浏览器中构建pdf文档,实现在线查看pdf文件的功能。实现步骤1.进入官网,选择Stable版本下载pdf.js插件并解压到本地。地址:http://mozilla.github.io/pdf.js/2.在服务器根目录创建pdfjs静态资源目录,并放入刚才解压的文件。3.在浏览器中访问服务器地址,能够看到pdfjs这...
原创
2829阅读
0评论
0点赞
发布博客于 2 年前

解决IDEA本地仓库有jar包却无法引用和打包问题

在实际开发中,很多时候有些jar包可能无法从远程仓库中获取,这时只能通过手动方式将jar包打进本地仓库,但是当我们使用IDEA进行开发时,却经常遇到本地仓库明明有jar包,但在pom文件中引用时,却依然报错,也无法进行打包。这个问题也是困扰了我很久,直到上网查了很久,才稍微总结出一点点解决的办法,但是此方法并不一定有效,仅供参考。1.通常我们通过远程仓库下载jar包时,会在jar包所在的目录下生...
原创
4379阅读
9评论
1点赞
发布博客于 2 年前

js如何判断一个字符串是否以指定字符串开头

substrsubstr方法用于返回截取从指定位置上开始,指定长度的一段子串。##trueif("Hello World".substr(0, 5) == "Hello"){ return true;}substring与substr方法类似,都表示截取一段字符串,不同的是,substring方法中传入的两个参数表示起始位置和终止位置,且包含起始位置但不包含终止位置。#...
原创
2324阅读
0评论
0点赞
发布博客于 2 年前

SVG简介

SVG是什么?SVG是使用XML来描述二维图形和绘图程序的语言,于2003年1月14日成为W3C推荐标准。SVG的特点可伸缩矢量图形万维网联盟的标准用于定义用于网络的基于矢量的图形使用XML格式定义图形在放大或改变尺寸的情况下其图形质量不会有所损失与DOM、XSL等W3C标准是一个整体SVG的优势与JPEG和GIF图像相比尺寸更小,可伸缩,且可压缩性更强可被非常多的工具...
原创
45阅读
0评论
0点赞
发布博客于 2 年前

this.optional(element)的用法

this.optional(element)是jquery.validator.js表单验证框架中的一个函数,用于表单控件的值不为空时才触发验证。简单来说,就是当表单控件值为空的时候不会进行表单校验,此函数会返回true,表示校验通过,当表单控件值不为空的时候会执行后面的校验条件判断,并返回校验结果true或者false。一般在返回此函数返回值时会在后面使用||来连接一个校验条件。示例代码如下...
原创
661阅读
0评论
0点赞
发布博客于 2 年前

如何解决git冲突:Your local changes to the following files would be overwritten by merge...

问题在使用git pull命令更新代码时遇到了如下报错:error: Your local changes to the following files would be overwritten by merge: xxx/xxx.java Please, commit your changes or stash them before you can merge.出现上述报错的原因是因...
原创
1589阅读
0评论
0点赞
发布博客于 2 年前

IntelliJ IDEA如何部署普通Web项目

1.导入项目,点击左上角File,选择Project Structure打开Project Structure弹出框。2.点击左边Project Settings下方的Project,设置Project SDK为你想要设置的项目jdk版本。3.点击Modules,如果右边有显示项目目录的话,在Sources选项卡下,点开项目的src/main/java和src/test/java目录,右键选择...
原创
490阅读
0评论
0点赞
发布博客于 2 年前

js实现textarea滚动条位置始终在最下方

在默认情况下,随着文本内容的不断增加,textarea的滚动条也会不断往上方移动,这就会导致当内容超出文本可视区域后,我们无法看到最下方的内容。这个时候,我们可能就会想让textarea滚动条的位置始终在最下方,因为只有滚动条在最下方时,textarea底部区域的文本才会显现出来。想要实现这个功能也很简单,只要几行js代码就可以搞定了,这里以jQuery为例来实现此功能。<script ...
原创
1854阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot如何实现文件上传和下载

文件上传其实文件上传无非就是文件的读取和写入,明白这个道理之后就好办了。前端页面<form method="POST" action="/fileUpload" enctype="multipart/form-data"> <input type="file" id="myFile" name="myFile" /><br/> <in...
原创
1400阅读
0评论
2点赞
发布博客于 2 年前

Java中获取各种路径的方法盘点

Java代码中获取路径假设当前项目路径为:D:/wunian/workspace/JavaProject,现在来分别获取此项目中的各种路径。1.获取资源文件(.class文件)所在路径(四种方式)。Thread.currentThread().getContextClassLoader().getResource("")ClassLoader.getSystemResource("")C...
原创
232阅读
0评论
0点赞
发布博客于 2 年前

前端实现弹出“另存为”对话框的三种方式

今天开发一个需求,需要将一段字符串保存到文件中,并且保存之后在页面上弹出“另存为”对话框来实现将文件保存到指定位置。那么应该如何来实现在前端弹出“另存为”对话框呢?调用document.execCommand方法调用js方法document.execCommand可在前台页面调出“另存为”对话框,并将将服务器上存放的文件保存到本地指定的位置。需要注意的是,部分IE浏览器中,可能会阻止显示内容,...
原创
9759阅读
3评论
1点赞
发布博客于 2 年前

Java中创建对象的四种方式

使用new关键字创建对象使用new关键字创建对象是最常见的一种方式,但是使用new创建对象会增加耦合度。在开发中应该尽量减少new的使用以降低耦合度。Object o=new SubObject();o.sayHello();使用反射机制创建对象使用Class对象的newInstance方法,我们很容易就能够创建出一个类的对象。Class clz= Class.forName("co...
原创
389阅读
0评论
1点赞
发布博客于 2 年前

js实现实时监听input输入框值的变化

要想实现实时监听input输入框值的变化的效果,只需要让input元素监听两个事件:input和propertychange,然后调用对应的js监听函数即可。先使用原生js代码实现。<input type="text" oninput="onInputChange(event)" onpropertychange="onInputChange2(event)" /><sc...
原创
320阅读
0评论
0点赞
发布博客于 2 年前

IntelliJ IDEA如何整理代码格式

方法一选择文件,右键选择Reformat Code即可。方法二按快捷键Ctrl+Alt+L键即可快速对代码进行格式化。重新设置快捷键如果出现热键冲突或者想自定义快捷键,也可以在系统中设置快捷键。步骤如下:1.点击左上角File-Settings打开设置窗口。2.点击Keymap,在右侧搜索框中输入format,找到Code下方的Reformat Code,可以看到右侧显示快捷键为Ct...
原创
14719阅读
0评论
2点赞
发布博客于 2 年前

微服务架构设计和拆分

微服务架构的设计原则拆分足够微轻量级通信领域驱动原则单一职责原则DevOps(开发/运维)及两个披萨不限于技术栈微服务模块设计服务拆分服务注册服务发现服务消费统一入口配置管理熔断机制自动扩展微服务拆分的意义易于实现易于维护易于部署易于更新微服务拆分的方法横向拆分:根据业务功能进行拆分。纵向拆分:对于一个业务功能,根据不同层次进行拆分,如应...
原创
581阅读
0评论
0点赞
发布博客于 2 年前

如何在Linux环境下安装git

1.安装编译git时需要用到的包。yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install -y gcc perl-ExtUtils-MakeMaker2.删除已有的git。yum remove git3.从git官网下载git最新版的tar包,移动到/usr/sr...
原创
54阅读
0评论
0点赞
发布博客于 2 年前

工作流引擎简介

概念工作流引擎,是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。工作流引擎能够解决什么问题?开发一个优秀的软件系统,系统界面是基础,数据库之间的信息交换是必备条件,而根据业务需求开发出符合实际的程序逻辑,并在一定程度上保证其稳定性、...
原创
911阅读
0评论
0点赞
发布博客于 2 年前

TortoiseSVN常见操作

SVN checkout:从版本库中检出文件到当前目录。SVN commit:提交文件到版本库。SVN update:将版本库的最新代码更新到本地。add commit:将新增的文件加入到SVN版本控制中。Update to reversion:将目录或档案回溯至特定的日期或是版本。branch:复制档案及目录。merge:合并目录或档案。show log:查看提交的历史记录。Re...
原创
43阅读
0评论
0点赞
发布博客于 2 年前

Map类集合Key/Value能否存储null值情况表格汇总

集合类KeyValueSuper说明ConcurrentHashMap不允许为null不允许为nullAbstractMap分段锁技术Hashtable不允许为null不允许为nullDictionary线程安全HashMap允许为null允许为nullAbstractMap线程不安全TreeMap不允许为null允许为nul...
原创
475阅读
0评论
0点赞
发布博客于 2 年前

VO、DO、DTO的区别

概念在日常开发中,VO对应页面上需要显示的数据(表单),DO对应数据库中存储的数据(数据库表),DTO对应除了前面两种之外的其它需要传递的数据。DTO和VO的异同DTO和VO一样,都是在实体的基础上增加,减少字段,加入自己的判断逻辑,隐藏表结构等,当他可以返回给页面(这时就变成了VO),也可以用于服务之间,系统之间的交互,相互调接口之类。为什么需要引入这些概念?也许很多人会问,为什么不能...
原创
91阅读
0评论
0点赞
发布博客于 2 年前

typeof的用法

在js的开发过程中,我们有时可能遇到需要判断变量类型的情况。在js中,我们可以使用typeof运算符来检测一个变量的类型。语法如果想检测一个表达式的类型,可以使用:typeof (表达式)如果想检测一个变量的类型,可以使用:typeof 变量名返回值使用typeof进行运算后将会返回一个字符串,该字符串的值有六种,分别是undefined、boolean、string、numbe...
原创
89阅读
0评论
0点赞
发布博客于 2 年前

Jenkins通用规则

Agent:Agent通常是一个机器或容器,它连接到Jenkins主机,并在主控器指导时执行任务。Artifact:在Build或Pipeline 运行期间生成的不可变文件,该文件归档到Jenkins Master上以供用户随后检索。Build:项目单次执行的结果。Cloud:提供动态代理 配置和分配的系统配置 。Core:主要的Jenkins应用程序(jenkins.war)提供了 可以...
原创
71阅读
0评论
0点赞
发布博客于 2 年前

Jenkins如何创建一个Pipeline

1.将以下内容(这里以Java为例)复制到存储库并将其命名为Jenkinsfile。enkinsfile (Declarative Pipeline)pipeline { agent { docker 'maven:3.3.9' } stages { stage('build') { steps { sh ...
原创
247阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot如何异步调用自定义线程池

在《SpringBoot整合邮件任务》一文中说过,我们可以通过@Async注解来实现异步调用。但是如果使用自定义线程池,又该如何来控制异步调用的并发呢?1.首先在启动类中定义好线程池。@SpringBootApplicationpublic class ExecutorApplication { public static void main(String[] args) { ...
原创
117阅读
0评论
0点赞
发布博客于 2 年前

SQL UNION操作符

SQL UNIONUNION 操作符用于合并两个或多个 SELECT 语句的结果集。需要注意的是,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。语法SELECT column1,column2,column...
原创
17阅读
0评论
0点赞
发布博客于 2 年前

Leap数据访问之事务控制

代码式事务控制代码式事务的好处在于灵活控制事务边界,不足之处则在于侵入了业务代码。例如在UserInfoService 类中的方法中使用事务控制,代码如下:package wunian.service;import wunian.entity.User;import leap.core.annotation.Bean;import leap.orm.dao.Dao;@Beanpub...
原创
32阅读
0评论
0点赞
发布博客于 2 年前

Leap数据访问之实体映射

在实际的开发中,通常会定义一个Model实体类来和数据库中的某个表进行映射,在Leap中也提供了相关的注解来进行映射。以实体类UserModel的配置为例进行说明,代码如下:package wunian.model;import leap.orm.annotation.Column;import leap.orm.annotation.Id;import leap.orm.annota...
原创
41阅读
0评论
0点赞
发布博客于 2 年前

IDEA中如何手动引入jar包

1.打开Maven项目,选择File-Project Structure。2.在打开的窗口中左边菜单列表中选择Modules,点击上方的dependencies,然后点击+,在弹出的菜单栏中选择JARs or directories。3.在打开的文件管理器中,选择要导入的jar包即可引入到项目中来。4.引入的jar包可以在dependencies窗口中查看,引入完成后选择OK即可。5.添加...
原创
1186阅读
2评论
0点赞
发布博客于 2 年前

git使用过程中遇到的一些坑

git SSL certificate problem: unable to get local issuer certificate当git push远程仓库使用https方式时如果遇到此错误,请先输入如下命令再进行操作。git config --global http.sslVerify falsePush to origin/master was rejected使用IDEA对项目...
原创
69阅读
0评论
0点赞
发布博客于 2 年前

如何安装Jenkins

1.访问Jenkins官网。官网地址:https://jenkins.io/zh/2.一般情况下,官网提供了最新版本和长期支持版本供用户下载,点击下载区长期支持版本选项卡。3.选择最新版本,点击链接下载Jenkins.war文件。4.下载完成后,在下载目录中打开命令提示符,运行如下命令:java -jar Jenkins.war执行该命令后,各项任务将运行,其中一个是由名为winst...
原创
26阅读
0评论
0点赞
发布博客于 2 年前

Swagger简介

问题首先我们先来说说传统开发中前后端协同开发出现的一些问题。不管是前端还是后端开发,应该都多少被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致,后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。但是这个接口文档对于程序员来说,就跟注释一样,经常会抱怨别人写的代码没有写注释,然而自己写起代码起来,最讨厌的...
原创
31阅读
0评论
0点赞
发布博客于 2 年前

Jenkins简介

Jenkins是什么?Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。...
原创
44阅读
0评论
0点赞
发布博客于 2 年前

Leap如何对数据进行增删查改

新增数据1.create新增数据可以调用实体对象的 create 方法,即可将当前对象保存到数据库中。User user = new User();user.setId("1");user.setName("wunian");user.create();2.save还可以使用 save 方法,它会根据当前实体对象的 id 判断,如果id存在,则执行update,如果id不存在,则...
原创
57阅读
0评论
0点赞
发布博客于 2 年前