Stella981 Stella981
3年前
Spring Data Jpa 返回自定义对象 DTO 映射问题
关键字:JPA复杂查询,JPA返回自定义实体,JPA返回自定义DTO,JPA联表查询,JPA原生SQL查询,JPA踩坑新冠疫情之下,闲来无事研究了一下JPA,发现坑还是不少的,特地记录一下,有兴趣的道友可以看看。在灵活性上JPA比不上MyBatis,比如想联表查询返回一个自定义的实体Dto,结果发现不能直接返回自定义的实体,典型错误如下:
Stella981 Stella981
3年前
ElasticSearch + Canal 开发千万级的实时搜索系统
公司是做社交相关产品的,社交类产品对搜索功能需求要求就比较高,需要根据用户城市、用户ID昵称等进行搜索。项目原先的搜索接口采用SQL查询的方式实现,数据库表采用了按城市分表的方式。但随着业务的发展,搜索接口调用频次越来越高,搜索接口压力越来越大,搜索数据库经常崩溃,从而导致搜索功能经常不能使用。!(https://oscimg.oschina.n
Stella981 Stella981
3年前
Liquibase的使用
LiquiBase是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。它的目标是提供一种数据库类型无关的解决方案,通过执行schema类型的文件来达到迁移。其有点主要有以下:支持几乎所有主流的数据库,如MySQL,PostgreSQL,Oracle,Sql
Stella981 Stella981
3年前
Hive和HBase有哪些区别与联系及适用场景
hiveHive是运行在Hadoop上的一个工具,准确地讲是一个搜索工具。当对海量数据进行搜索时,Hadoop的计算引擎是MapReduce。但是对MapReduce的操作和编程是非常复杂的。于是Hive的存在就让复杂的编程过程简化成了用SQL语言对海量数据的操作。这大大减轻了程序员的工作量。可以说,Hive的存在让海量数据的增删改查更加方便。
Wesley13 Wesley13
3年前
MySQL 你可能忽视的选择问题
我们在MySQL入门篇主要介绍了基本的SQL命令、数据类型和函数,在局部以上知识后,你就可以进行MySQL的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下MySQL都需要哪些高级的技能MySQL存储引擎存储引擎概述数据库最核心的一点就是用来存储数据,数
Easter79 Easter79
3年前
Spring和Mybatis集成,如何批量insert update?以及一些通用Dao的设想
之所以写这篇文章,主要是给新手提供一些mybatis使用的技巧和思路现在国内很多项目都使用了mybatis作为ORM框架我们在实际的使用过程中基本上都会遇到批量insertupdate等操作在网上搜索一些文章,大多数都是在说使用mybatisforEach标签迭代等。。。实际上这种做法是存在很多问题的,比如SQL过长..等限制于是乎我
Wesley13 Wesley13
3年前
MySQL 存储引擎(2)
首先我们带着下边三个问题来认识存储引擎存储引擎在MySQL中的作用是什么?MySQL都有哪些存储引擎SQL又与存储引擎有什么关系?存储引擎在MySQL中的作用是什么?顾名思义,存储引擎就是用于存储我们的数据的。在关系型数据库中我们一般将数据库存放在表中(Table)。我们可以把这个表理解成Excel电子表格
Wesley13 Wesley13
3年前
mysql数据库索引优化与实践(一)
前言mysql数据库是现在应用最广泛的数据库系统。与数据库打交道是每个Java程序员日常工作之一,索引优化是必备的技能之一。为什么要了解索引真实案例案例一:大学有段时间学习爬虫,爬取了知乎300w用户答题数据,存储到mysql数据中。那时不了解索引,一条简单的“根据用户名搜索全部回答的sql“
Wesley13 Wesley13
3年前
MySQL日志安全分析技巧
常见的数据库攻击包括弱口令、SQL注入、提升权限、窃取备份等。对数据库日志进行分析,可以发现攻击行为,进一步还原攻击场景及追溯攻击源。0x01Mysql日志分析generalquerylog能记录成功连接和每次执行的查询,我们可以将它用作安全布防的一部分,为故障分析或黑客事件后的调查提供依据。1、查看log配置信息
Wesley13 Wesley13
3年前
Mysql事务随笔
一、什么是事务  数据库中的概念,按我个人理解:能够保证一组任务全部执行成功或者全部执行失败的这么个机制,叫事务  事务是数据库中重要概念,如果没有这种保障机制,数据库中的数据就是不安全的(就是无法保证数据的正确性)  在数据库中,一组任务,就是放在一起执行的多条sql二、ACID保证数据安全