![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaEE
414丶小哥
【越努力 越幸运】【细水长流】【来日方长】【心诚则灵】
展开
-
MySQL InnoDB 300+w数据 offset分页方案优化 实践
原理求求你不要再用offset和limit了方案SQL-- 分页取300w条数据后的100条select * from sme_policy_item_rpt_new where ENABLED = 1 limit 100 offset 3000000;select id from sme_policy_item_rpt_new where ENABLED = 1 limit 100 offset 3000000;-- 分页取300w条数据后的10条select * from sme_poli原创 2021-12-07 09:14:17 · 1021 阅读 · 1 评论 -
GIT操作 查看/修改git本地用户名
查看git config user.name修改git config --global user.name guoyzh原创 2021-08-23 10:20:25 · 571 阅读 · 0 评论 -
maven配置文件settings.xml
<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/s原创 2021-04-29 19:12:41 · 361 阅读 · 0 评论 -
Java开发中idea常用插件
必备:spring Assistant : springboot开发插件lombok : 省去get、set方法选装:free mybatis plugin: 自动生成mybatis相关操作MyBatisCodeHelperPro (Marketplace Edition):代码生成器Mybatis Smart Code Help:代码生成 编写提示swagger Tools:生成swagger注解RestfulToolkit : 接口测试工具GenerateJPA:根据Enti原创 2021-04-29 19:11:38 · 267 阅读 · 0 评论 -
SpringBoot基于MyBatisPlus 抽取BaseController
这种方法有利有弊 酌情使用public class BaseCustApiController<S extends IService<T>, T> extends BaseParentCustApiController { protected Log log = LogFactory.getLog(this.getClass()); @Autowired @SuppressWarnings("SpringJavaInjectionPointsAutow.原创 2021-04-29 19:06:36 · 2033 阅读 · 0 评论 -
Mysql锁表后的操作
-- 查询操作的事务select * from information_schema.innodb_trx-- kill 进程trx_mysql_thread_idkill 6585原创 2021-03-24 18:42:55 · 297 阅读 · 0 评论 -
SpringBoot spring-session-data-redis 共享session流程代码分析
前提需要维护一个没有服务端源码的旧项目服务端和它老项目配置同一个数据库的基础上重新起了个项目数据是互通了 可是后端登录状态始终无法同步老项目是使用spring-session-data-redis将session保存在redis中旧项目配置文件打算通过session共享和他打通登录状态共享设想一下 如果我们nginx配置在同一个域名下 是可以实现共享session的(同一个域名 浏览器默认使用同一个会话 同一个sessionId)实践访问老系统的cookie信息:http://127原创 2021-03-12 14:52:56 · 910 阅读 · 0 评论 -
SpringBoot分步式系统实现Session共享 redis spring session 集群和分步式系统共享session条件
分步式系统共享session分步式大行其道 共享session也成了大众化的需求 使用基于redis和spring-session也可以迅速实现对应的需求 但是如果两个毫无关联的系统之间 想要实现session共享 需要满足哪些条件两个无任何联系的项目想要实现session共享需要满足的条件1、两个springboot项目包名相同不同包名 同一个session 在redis里面也会创建两条session记录 无法实现共享session2、连接同一个redis将session数据集中管理 实原创 2021-03-11 10:27:39 · 334 阅读 · 0 评论 -
Dubbo项目注册中心从zookeeper迁移到nacos 2021年3月4日
前提条件dubbo版本:2.6.2注释zk相关依赖添加nacos依赖<nacos-starter.version>0.2.7</nacos-starter.version><nacos.version>1.2.1</nacos.version><dubbo.regist.nacos.version>2.6.7</dubbo.regist.nacos.version><dependency> <原创 2021-03-04 16:18:26 · 1069 阅读 · 2 评论 -
Idea开发界面Services导航栏消失不见处理方法
微服务项目开启Services导航栏可以方便管理多个微服务 经常狠多人无法找到Services导航菜单 下面给出方法打开该导航菜单开启Services导航菜单配置Services原创 2021-02-18 16:07:14 · 1591 阅读 · 0 评论 -
将json数据导出为excel java + 前端代码
效果图前端代码<script language="JavaScript" type="text/JavaScript"> function renderOptionList() { // 渲染最近操作记录列表 var table = layui.table; var excel = layui.excel; var laydate = layui.laydate; table.render({原创 2021-02-04 14:01:27 · 300 阅读 · 0 评论 -
PLSQL中文乱码 中文展示???
– 查询数据库编码select userenv(‘language’) from dual;– 新建环境变量NLS_LANG– 重启电脑原创 2021-01-22 16:21:15 · 306 阅读 · 0 评论 -
maven父子module项目 依赖其他module时 关联到resource中的xml文件
pom文件中添加<build> <finalName>webapi</finalName> <!--默认资源目录 --> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*原创 2020-12-07 10:12:26 · 1449 阅读 · 0 评论 -
SpringBoot使用EasyExcel导出excel
和Excel映射的实体类@ExcelIgnoreUnannotatedpublic class PolicyItemPageVO extends BaseBean { /** * 申报项目名称 */ @ExcelProperty(value = "申报项目名称", index = 0) private String declareProjectType; /** * 开始时间 */ @ExcelProperty(val原创 2020-12-07 10:05:57 · 424 阅读 · 0 评论 -
枚举类型封装 BaseEnum 枚举类
/** * 作者:guoyzh * 时间:2020/7/27 14:43 * 功能:BaseEnum */public interface BaseEnum { /** * 获取枚举标识 * * @return */ Integer getCode(); /** * 获取枚举描述 * * @return */ String getDesc(); /** * 通过枚原创 2020-10-28 16:17:23 · 3075 阅读 · 0 评论 -
swagger常用注解搬运
@Api:修饰整个类,描述Controller的作用@ApiOperation:描述一个类的一个方法,或者说一个接口@ApiParam:单个参数描述@ApiModel:用对象来接收参数@ApiProperty:用对象接收参数时,描述对象的一个字段@ApiResponse:HTTP响应其中1个描述@ApiResponses:HTTP响应整体描述@ApiIgnore:使用该注解忽略这个API@ApiError :发生错误返回的信息@ApiParamImplicitL:一个请求参数@ApiPa原创 2020-09-29 16:18:44 · 379 阅读 · 0 评论 -
ES中 同时使用should和must 导致只有must生效 解决方案
使用ES查询语句的时候 会遇到嵌套多条件查询情况title或者content包含xx(should)type必须是1(must)enabled必须是1(must_not)只使用should查询GET _search{ "query": { "bool": { "should": [ { "match_phrase": { "title": "疫情期间" } },原创 2020-09-07 16:25:21 · 11113 阅读 · 6 评论 -
Java并发之美 记录一次业务优化 从9.5小时 到1小时 再到28分钟 并行执行任务
前情介绍规则:同步自己系统中的11417条数据到友军系统中对方拒绝提供批量操作接口(必须一条一条通过网络进行传输 总共要进行11417个网络请求)对方接口每秒请求不能超过200次(实际测试超过10次就开始404)我方数据库要保证查库在2000次/秒这个范围内 防止操作先把自家数据库搞垮首次操作流程:分页从库中读取11417条数据 读取6张关联表中的相关数据(每页200条 加上关联表总共7张表每次处理1400条数据)封装7张表的数据 转换为友军需要的数据结构进行网络请求 将数据发送原创 2020-08-28 15:10:44 · 322 阅读 · 0 评论 -
查询标题和内容都包含某个字段并且代码高亮
GET _search{ "query": { "bool": { "should": [ { "match_phrase": { "title": "杭州市萧山区" } }, { "match_phrase": { "content": "杭州市萧山区" } } ],原创 2020-08-14 09:56:43 · 385 阅读 · 0 评论 -
ElasticSearch查询语句分享
单一匹配-查询标题含有手机的条目GET _search{ "query": { "match": { "title": "手机" } }}单一字段多结果匹配-查询标题和分类包含手机的条目GET _search{ "query": { "multi_match": { "query": "手机", "fields": ["title","category"] } }}多条件匹配-查询id为2 名称是“林”的原创 2020-08-11 17:13:04 · 198 阅读 · 0 评论 -
spring-data-elasticsearch使用RestHighLevelClient进行搜索引擎ES操作 cluster-name过时 cluster-nodes过时
突然发现 项目中的es配置过时了 查看官方文档后发现官方将在未来的8.0版本后移除之前的api 推荐使用RestHighLevelClient按照官方文档进行配置@Configuration@EnableElasticsearchRepositoriespublic class RestClientConfig extends AbstractElasticsearchConfiguration { @Override @Bean public RestHighL原创 2020-08-11 11:25:21 · 9842 阅读 · 25 评论 -
Oracle数据库中 判断某个字段是否包含相应的字符串
判断数据库字段中是否包含某个字段:instr(cb.AUTHTYPE,'1') > 0 大于0说明包含1,等于0说明不包含原创 2020-08-10 09:56:16 · 3520 阅读 · 0 评论 -
idea常用插件
必备:spring Assistant springboot开发插件lombok 省去get、set方法选装:Mybatis Plugin Free 自动生成mybatis相关操作swaggerGen 生成swagger文档better-mybatis-generator 另一款mybatis代码生成工具restfultoolkit 接口测试工具Jpa Support 生成jpa相关实体和dao的方法mysql-table-to-jpa-entity 生成jpa相关的实体方法Db2j 生原创 2020-08-10 09:42:20 · 320 阅读 · 1 评论 -
idea使用类似eclipse linked resource
项目中之前同事开发了一个项目 使用eclipse 用到了里面的linked resource功能引入了其他项目的一个文件夹个人开发使用idea 使用module方式导入也报错 打成jar包导入也报错 无奈转了一大圈 总算是正常了 记录一下 留给需要的人 具体能否正常打包 我没具体测试...原创 2020-08-10 09:02:23 · 855 阅读 · 0 评论 -
Lucene同步SQL数据方案
Lucene使用文档1、可视化工具Luke2、同步方案同步双写异步双写(MQ)异步双写(WORKER)BinLog方式**参考链接:**http://www.pbdata.cn/?p=2013、可能存在的问题具体同步方案 见同步方案原数据库中数据修改 或者 删除后 如何重新建立索引 (如何保证 数据库中的数据修改或删除后 Lucene中也要进行更新)4、保证数据同步的方法需要同步的表中增加update_time字段 每次修改操作后 更新update_time字段第一原创 2020-07-07 11:13:03 · 525 阅读 · 0 评论 -
使用JsonP实现不同域名共享Session 实现SSO单点登录
a.com登录成功后 b.com也可以正常访问清空a.com的cookie信息b.com登录信息也失效思路:1、主要根绝ajax使用jsonp跨域请求时候 同一个单点服务器会使用相同的session 整个项目sessionId相同2、任何一个项目登录之后 将sessionId和登录成功的用户信息保存到redis中3、其他站点使用JsonP请求验证登录的接口 如果能通过sessionId从缓存中读取到用户信息 说明当前用户已经登录**注:**一定要使用单点登录验证服务器 有效避免多服务器原创 2020-06-30 16:35:26 · 858 阅读 · 0 评论 -
Java8使用stream进行去重操作
/** * 通过列表中对象的某个字段进行去重 * * @param keyExtractor * @param <T> * @return */private <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) { Set<Object> seen = ConcurrentHashMap.newKeySet(); return t -&原创 2020-06-18 13:51:26 · 1668 阅读 · 0 评论 -
syntax error, expect RPAREN, actual LITERAL_INT pos 885, line 46, column 29, token LITERAL_INT
Caused by: com.alibaba.druid.sql.parser.ParserException: syntax error, expect RPAREN, actual LITERAL_INT pos 885, line 46, column 29, token LITERAL_INT at com.alibaba.druid.sql.parser.SQLExprParser.accept(SQLExprParser.java:2860) at com.alibaba.druid.sql原创 2020-06-03 09:33:16 · 37279 阅读 · 1 评论 -
SpringBoot集成MyBatis 简单代码示例 步骤填写
引入依赖 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version> </dependency> <!-- sqlServer依赖 --> <dependency> <groupId>co原创 2020-05-22 10:32:40 · 275 阅读 · 0 评论 -
sleep和wait的区别
Sleep是Thread的静态方法wait是Object的方法sleep仍然持有锁wait是等待 等待别的对象释放锁原创 2020-04-20 09:58:42 · 253 阅读 · 0 评论 -
MyBatis和SpringDataJPA使用比较
mvnrepository.com使用量比较使用方式比较毕竟只是框架 使用习惯因人而异 只是客观列出不同之处原创 2020-04-09 15:02:23 · 612 阅读 · 1 评论 -
处理openFeign自动将get请求转换为post请求的问题
Application.yml文件中添加feign: httpclient: enabled: truepom.xml文件中添加<dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-httpclient</artifactI...原创 2020-04-08 15:57:26 · 2100 阅读 · 3 评论 -
Java将线形数据结构转换为树形菜单结构2 优化算法 实现时间复杂度为2n 之前为n²
数据库中数据结构图封装数据的实体类@Datapublic class MicroCodeDto { private String id; private String code; private String name; private List<MicroCodeDto> child = new ArrayList<>(); ...原创 2020-01-17 18:37:37 · 684 阅读 · 3 评论 -
Java将线形数据结构转换为树形菜单结构
数据库中数据结构图封装数据的实体类@Datapublic class MicroCodeDto { private String id; private String code; private String name; private List<MicroCodeDto> child = new ArrayList<>(); ...原创 2020-01-17 16:41:44 · 907 阅读 · 0 评论 -
SpringDataJpa查询返回自定义实体方法
完整实体类@Table(name = "st_microcode")@Entity@Datapublic class StMicrocode { @Column(nullable = true, name = "id") @Id private String id; @Column(nullable = true, name = "id1") p...原创 2020-01-17 15:54:07 · 1422 阅读 · 4 评论 -
SpringBoot使用RabbitMQ实现消息队列
声明Exchange 绑定Queue到Exchange@Configurationpublic class RabbitMQConfig { // 设置使用的交换机 public final static String EXCHANGE_TOP = "test"; // 设置队列 多个队列绑定同一个Exchange public final static S...原创 2020-01-17 15:04:37 · 642 阅读 · 0 评论 -
使用QueryDSL补充springDataJpa进行复杂动态sql语句进行sql查询 实现 关联 分页等功能
@Testpublic void testComplexSelect() { QQyOnlineCall onlineCall = QQyOnlineCall.qyOnlineCall; QClientList clientList = QClientList.clientList; // page必须从1开始 PageRequest request = Page...原创 2020-01-13 11:21:53 · 1353 阅读 · 4 评论 -
SpringData Jpa实现分页功能 实现方式二 试用Slice接收
之前博客介绍郭试用JPA如何实现分页功能 但是 每次都要写sql语句去计算总条数countQuery 今天学习JPA文档的时候知道了Slice用法 于是进行了优化之前文章连接前文链接实现代码public interface XDMReviewTimeDao extends JpaRepository<XDMReviewTimePoJo, Long> { @Quer...原创 2020-01-08 14:14:10 · 1361 阅读 · 0 评论 -
Java工具类 计算某个时间距离当前时间相差多少天、多少小时、多少分、多少秒
/** * 计算传入时间距离当前时间多久 * * @param date * @return */public static String getTimeDiff(String date) { if (ObjectUtils.isEmpty(date)) { return ""; } StringBuilder sb = new StringBu...原创 2020-01-07 12:36:16 · 5721 阅读 · 0 评论 -
Java获取URL链接中使用get请求拼接的参数
/** * 通过key解析url中存在的value * * @param url * @param key * @return */public static String getDataFromUrl(String url, String key) { String value = ""; Uri uri = Uri.parse(url); value = ...原创 2019-05-22 13:09:45 · 5319 阅读 · 0 评论