Java ORM 哪家强?10个ORM框架测试对比与选型建议

5 月 10 日
阅读 5 分钟
767
Java 领域的ORM(Object-Relational Mapping)框架有很多,各家的性能和使用体验如何?本文将对比体验以下的Java ORM框架,包括Spring JDBC、Spring Data JPA + Hibernate、QueryDSL、jOOQ、GraphQL、MyBatis、MyBatis-dynamic-sql、MyBatis-plus、Fluent-mybatis、MyBatis-flex,以帮助开发者选型。

Spring cloud 集成 SkyWalking 实现性能监控、链路追踪、日志收集

2022-04-06
阅读 3 分钟
4.9k
Skywalking 是一个优秀的APM(application performance monitor)应用性能监控系统,针对微服务场景设计,可以方便的实现Spring cloud等微服务场景下的性能监控、链路追踪等。而v8.x版本也支持了日志收集功能,可以取代ELK作为分布式下日志收集的方案。一个系统实现监控+追踪+日志的多个能力,有效降低微服务下运维的复杂度。

Spring Boot 集成 SpringDoc Swagger 3

2021-11-23
阅读 3 分钟
9.6k
背景Spring boot 已经更新到了 v2.6+,如果你还在使用Springfox提供swagger接口文档,你会遇到以下错误: {代码...} Springfox的更新速度太慢了,为了适配新版本Spring boot,将其替换为SpringDoc是个更优的选择。配置集成 SpringDoc 实现 swagger接口文档步骤1. pom中引入SpringDoc依赖 {代码...} 步骤2. 添加配置类 {...

Vue项目发布到springboot中的系列配置

2021-11-16
阅读 1 分钟
3.7k
假设springboot的context-path为/ ,即根路径,那么我需要为静态资源分配一个路由,这里以pages为例,前端vue.config.js配置如下:

阿里禁止>3张表的JOIN,为什么,咋解决?

2021-07-01
阅读 1 分钟
7.8k
1. 阿里为何禁止大于三张表的JOIN?此规范是针对MySQL系数据库的,模拟一些场景多造些数据去查询对比不难发现:每增加1张表的JOIN,查询性能就会显著下降。比如下面这个场景(3张表各100W数据,个人PC测试):3张表的JOIN连接查询耗时3s多,如果再去JOIN一个字典表,耗时将在5s多。多JOIN一张表对性能的影响是比较大的。...

一个vue项目中配置请求多个服务端解决方案

2020-11-02
阅读 2 分钟
5.8k
前言:最近项目开发中,遇到这么个情况,一个前端项目需要搭配两个服务端接口,所以前端的代理需要重新修改,遂记录一、解决方案1.1 描述接口context-path后端的两个接口服务请求前缀,如下: {代码...} 1.2 vue.config.js配置 {代码...} 1.3 axios修改 {代码...} 此时axios不需要直接指定baseUrl配置1.4 发送请求 {代码...

如何通过diboot实现shiro的无状态实践

2020-10-29
阅读 12 分钟
2.1k
diboot iam-base是一款基于shiro安全框架二次开发的应用于PC WEB的前后端分离的认证授权框架,所以服务端的认证信息依然使用有状态管理,即session存储.但是最近发现有的小伙伴将diboot-iam用在移动端,我们知道移动端是没有session,此时我们就需要对diboot-iam进行一点微小的改造,让其进入无状态管理,从而适应于移动...

spring boot 集成 swagger 3.0 指南

2020-10-13
阅读 2 分钟
28.7k
3.0版本在配置上与2.9稍有差别,包括依赖包改为: springfox-boot-starter,启用注解更改为: @EnableOpenApi等。

windows下安装Redis 5.x版本

2020-09-02
阅读 1 分钟
14.7k
如果是Linux版本可以直接到官网下载,自3.x起官网和微软网站就没有redis安装包更新了,好在github有开发者在编译发布更新(目前最新有5.0.9版本可下),地址:redis windows 5+版本下载

用注解实现一行代码构建QueryWrapper

2020-07-04
阅读 3 分钟
4.9k
Mybatis-plus的查询构造器可以方便的构建单表的SQL查询,你可以在controller里接收到请求参数然后转成查询条件,比如部门的搜索查询代码类似这样:

Ant Design Vue 中a-upload组件通过axios实现文件列表上传与更新回显的前后端处理方案

2020-01-07
阅读 9 分钟
20.9k
在企业应用的快速开发中,我们需要尽快的完成一些功能。如果您使用了Ant Design Vue,在进行表单的文件上传相关功能开发的时候,您肯定迫不及待地需要找到一篇包治百病的文章,正是如此,才有了该文的诞生,愿以此文解君忧。

Spring中获取代理对象的目标类Class及Class中的泛型参数的方法

2019-12-27
阅读 1 分钟
4k
在Spring里如果你通过AplicationContext获取Bean实例,你拿到的可能是一个被Spring代理的对象实例,如果你需要获取这个代理对象的目标类Class该怎么做呢?

Java程序员自动化指南

2019-11-27
阅读 7 分钟
3.7k
在Java web开发中,虽然Spring boot已经帮助我们简化了很多工作,但项目中庞杂的业务仍然需要自己去编写较多的 entity,vo,Mapper,Service, Controller 代码等,那么我们有没有什么办法来简化这整个开发流程呢?

如何在父类中获取子类泛型的Class

2019-11-15
阅读 2 分钟
6.4k
假如你定义了一个有泛型的Base类,如下BaseClass<DO, VO>代码示例,如何在BaseClass中获取到子类对应的DO、VO的class对象呢?

mybatis-plus 注解实现多表关联查询的最佳实践

2019-11-08
阅读 2 分钟
12.2k
在之前一篇文章 MyBatis多表关联的无SQL通用方案 中我们提到了注解绑定关联查询的实践方案,这里我们再汇总梳理一下常用开发场景中需要涉及到 关联 的场景以及其要支持的绑定方式。

vue中get请求如何传递数组参数

2019-11-07
阅读 2 分钟
19.7k
前言: vue中在与后端进行数据交互时,使用axios发送请求,不做配置直接使用get请求传递数组类型参数的时候,后端是无法接收数据的,需要对axios一些简单的配置才能让后端完美的接收数组

Java代码生成的设计方案与实践

2019-11-05
阅读 1 分钟
2.7k
最近观看《美国工厂》的感触:在传统制造业,当生产线的工人成本高昂效率低下的时候,企业管理者便会开始探寻降本增效之道,自动化便是首选的解决方案。

Docker同时安装MySQL和MariaDB

2019-09-18
阅读 2 分钟
2.9k
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

CDN开启了HTTPS,源站是否必须配置HTTPS?

2019-08-30
阅读 2 分钟
4.7k
背景:在上CDN之前,源站服务器的情况是:安装了SSL,配置了HTTPS,并且已经正常运行了一段时间。因为想要提高访问速度,决定上CDN,开启HTTPS。这时,产生了疑问:源站上的HTTPS配置,是否仍需保留?跟CDN上开启的HTTPS有什么关系呢?

各数据库(MySQL、PostgreSQL、Oracle、MsSQL)有关自增字段的设置

2019-08-29
阅读 3 分钟
3.9k
在数据库设计过程中,我们通常会把数据库表中的ID字段设置成自增。下面以常用的数据字典表为例,说明如何在各数据库下设置自增字段。 MySQL MySQL数据库只需要在目标字段上添加AUTO_INCREMENT,并且为表设置AUTO_INCREMENT=x。x:自增开始的数字。 参考示例: {代码...} PostgreSQL PostgreSQL数据库有多种方法可实现自...

使用sql获取各数据库(MySQL、PostgreSQL、Oracle、MsSQL)的表结构

2019-08-28
阅读 3 分钟
3.8k
通常我们提到数据库表结构的时候,比较关心的几个属性:字段名称、类型、长度、是否主键、是否自增、是否为空、默认值、备注。那么,使用SQL语句获取这些属性,在各主流数据库下是什么样的呢?

在vue-cli3.0中自定义css、js和图片的打包路径

2019-08-25
阅读 4 分钟
8.4k
我们有时候因为一些特殊需求,可能需要将js/css/img等资源文件都打包到根路径下,但vue-cli3.0的路径配置中仅有 assetsDir配置项能够配置所有的静态文件所在的文件夹,并不能针对css/js/img等资源文件分别来做设置,那么请看我如何尝试的吧!

为你的组件开发Spring Boot Starter

2019-08-06
阅读 3 分钟
3.2k
如果你开发了一个组件/模块,提供给其他项目使用,那你还需要附带一份配置说明: 依赖哪些jar、设置哪些配置参数、如何初始化入口类、以及ComponentScan和MapperScan需要加入哪些路径... 无疑增加了上手门槛。如何能让组件/模块自身完成自动配置呢?开发对应的Spring Boot Starter。

CentOS 7虚拟机安装Docker

2019-08-01
阅读 2 分钟
5.6k
Windows10家庭版无法安装Docker,可以升级到Windows专业版再安装 或者 使用虚拟机的CentOS系统安装。本文以CentOS 7.6虚机 + Docker 18.06(为了运行Rancher)为例,介绍具体的安装步骤。

如何通过Logstash同步多表关联数据至Elasticsearch

2019-07-26
阅读 2 分钟
6.6k
如果你对 使用Logstash保持Elasticsearch与数据库同步 方案还不是很熟悉,建议先花点时间精读它。上面的文章以单表同步场景为例,清楚讲述了如何通过JDBC同步数据至ES,而对于实际开发中经常出现的多表关联同步并未提及,以下是我针对多表关联同步的趟坑过程希望对你有所帮助。

如何使用Logstash保持Elasticsearch与数据库同步

2019-07-23
阅读 1 分钟
3.6k
在寻找“数据库同步数据到Elasticsearch”实现方案过程中,发现了这篇6月份发布的非常棒的博文,一篇文章讲清楚了完整的方案,同时找到了中文译文,让看到的朋友可以少走弯路。

Windows环境安装Logstash和Logstash-input-jdbc

2019-07-22
阅读 2 分钟
7.5k
本文为Windows环境下的相关安装示例,适用于需要用Logstash和Logstash-input-jdbc将数据从数据库导入到Elasticsearch中的场景。

解决java发邮件中文名太长乱码问题

2019-07-18
阅读 1 分钟
5.8k
当我们使用commons-email包或者javaMail发送邮件带有附件后,可能会出现较长的中文名乱码的情况,之后我们采用网上大多数人说的MimeUtility.encodeText()对文件名进行处理,然鹅,并不能解决问题。

Gradle构建SpringBoot程序依赖管理之依赖版本自动控制

2019-06-30
阅读 3 分钟
11.1k
前言:Spring体系中很多库之间相互依赖,但是由于版本之间差异比较大,我们需要比较精确的知道每个库的版本对应关系,不然很容易造成“库”与“库”之间对应不上,导致部分功能无效,甚至是异常情况。程序员排查起来一个头两个大,本篇文章将介绍如何利用gradle的插件来实现版本自动管理机制

如何在企业各团队间推广开发规范?

2019-06-28
阅读 1 分钟
1.9k
前些日在阿里技术公众号回复了一个“开发规范如何推广”的问题,获得了蛮多点赞。故写此一篇文章细讲一下我们的推广方式,给困惑的朋友贡献一点思路。