首页
关于
留言
统计
友链
壁纸
影视
留言找电影
Search
1
java jdk17版本使用cglib报错问题解决
320 阅读
2
在Java中修复json数据,json格式不正确,如何在Java中修复不正确的json
116 阅读
3
Java实现双链表插入排序~渡星河全网首发
106 阅读
4
Java打印某年某月的日历~不调用函数
76 阅读
5
Java中判断是否是闰年
70 阅读
代码笔记
Java
css
Javascript
数据库
安卓开发
Java 功能实例
Java 封装
我的日常
影音分享
文案
恋爱问答
资源分享
电脑游戏
实用APP
登录
/
注册
Search
标签搜索
java
java作业
恋爱
动漫
3A大作
独行月球
电影分享
总之就是非常可爱
JavaScript
office
破解
mysql
vue
java打包
跨域
tomcat解决乱码
bug解决
tomcat
vscode
渡星河
累计撰写
94
篇文章
累计收到
30
条评论
首页
栏目
代码笔记
Java
css
Javascript
数据库
安卓开发
Java 功能实例
Java 封装
我的日常
影音分享
文案
恋爱问答
资源分享
电脑游戏
实用APP
页面
关于
留言
统计
友链
壁纸
影视
留言找电影
搜索到
93
篇与
的结果
2024-02-28
spingboot项目,使用定时任务,对应Service报错空指针异常。若依定时任务报空指针异常
导致原因原来定时任务的优先级高于@Autowired注入解决方法// SpringUtils.getBean(IVideoFaceService.class) List<VideoFace> list = SpringUtils.getBean(IVideoFaceService.class).selectVideoFaceList(videoFace); 这样就能获取bean容器想要的bean了
2024年02月28日
22 阅读
0 评论
0 点赞
2024-02-16
电脑连接安装adb方式
1.先确保电脑已经有adb环境,下载一个android studio配置个adb环境就好了现在是连接步骤adb connect 192.XXX.XXX.XXX adb install XXX.apkadb logcat -v time > E:\androidGz\logcat.log6321 #1234#
2024年02月16日
17 阅读
0 评论
0 点赞
2024-02-05
tomcat配置日志保留时间
这边我配置保留时间是15日1.编辑conf/server.xml,在这里加上maxDays="15" <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" maxDays="15" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> 2.编辑conf/logging.properties 将我提供的示例配置里面的15的位置都改为你需要的数字1catalina.org.apache.juli.AsyncFileHandler.level = FINE 1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs 1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina. 1catalina.org.apache.juli.AsyncFileHandler.maxDays = 15 1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8 2localhost.org.apache.juli.AsyncFileHandler.level = FINE 2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs 2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost. 2localhost.org.apache.juli.AsyncFileHandler.maxDays = 15 2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8 3manager.org.apache.juli.AsyncFileHandler.level = FINE 3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs 3manager.org.apache.juli.AsyncFileHandler.prefix = manager. 3manager.org.apache.juli.AsyncFileHandler.maxDays = 15 3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8 4host-manager.org.apache.juli.AsyncFileHandler.level = FINE 4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs 4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager. 4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 15 4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8 java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter java.util.logging.ConsoleHandler.encoding = UTF-8
2024年02月05日
24 阅读
0 评论
1 点赞
2024-02-01
centos 使用命令将mysql 表的数据导出为sql到指定位置
命令yyw是数据库 blacklist是表,后面指定位置 mysqldump -u root -p yyw blacklist > /usr/local/blacklist.sql 回车输入数据库密码
2024年02月01日
12 阅读
0 评论
0 点赞
2024-02-01
mybatis-plus实现真批量导入数据
现在我以我项目的上传用户行为记录做示例实体类package com.xy.admin.entity; import com.baomidou.mybatisplus.annotation.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableId; import java.io.Serializable; import lombok.Data; import lombok.EqualsAndHashCode; /** * <p> * * </p> * * @author duGalaxy * @since 2024-01-31 */ @Data @EqualsAndHashCode(callSuper = false) public class UserTrail implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * iptv账号 */ private String iptvAccount; /** * 访问路径 */ private String route; /** * 访问界面描述 */ private String details; /** * 访问时间 */ private Date time; /** * 类型 */ private String type; } 控制层package com.xy.admin.controller; import com.xy.admin.entity.UserTrail; import com.xy.admin.service.UserTrailService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.sql.Timestamp; /** * <p> * 前端控制器 * </p> * * @author duGalaxy * @since 2024-01-31 */ @RestController @RequestMapping("/trail") @Slf4j public class UserTrailController { @Autowired private UserTrailService userTrailService; @PostMapping("addTrail") public String addTrail(String userId,String route, String details,String type){ if("".equals(userId)|| "".equals(route)|| "".equals(details)|| "".equals(type)){ log.info("参数为空,添加失败!"); return "参数为空,添加失败!"; }else{ UserTrail records = new UserTrail(); records.setIptvAccount(userId); records.setRoute(route); records.setDetails(details); records.setType(type); records.setTime(new Timestamp(System.currentTimeMillis())); return userTrailService.add(records) ? "添加成功!" : "添加失败!"; } } } service层package com.xy.admin.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.xy.admin.entity.UserTrail; import com.baomidou.mybatisplus.extension.service.IService; import com.xy.admin.mapper.UserTrailMapper; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; /** * <p> * 服务类 * </p> * * @author duGalaxy * @since 2024-01-31 */ public interface UserTrailService extends IService<UserTrail> { boolean add(UserTrail records); } 重点package com.xy.admin.service.impl; import com.xy.admin.entity.UserTrail; import com.xy.admin.mapper.UserTrailMapper; import com.xy.admin.service.UserTrailService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; /** * <p> * 服务实现类 * </p> * * @author duGalaxy * @since 2024-01-31 */ import org.springframework.scheduling.annotation.Async; import javax.annotation.Resource; import java.util.List; import java.util.Set; @Service @Slf4j public class UserTrailServiceImpl extends ServiceImpl<UserTrailMapper, UserTrail> implements UserTrailService { @Autowired private UserTrailMapper userTrailMapper; @Resource private RedisTemplate<String, UserTrail> redisTemplate; public static final String USER_TRAIL_QUEUE = "user_trail_queue"; @Async public void saveUserTrailToRedis(UserTrail record) { // 存储用户轨迹数据到 Redis redisTemplate.opsForList().rightPush(USER_TRAIL_QUEUE, record); } @Async public void saveUserTrailsToDatabase(List<UserTrail> records) { // 批量插入用户轨迹数据到 MySQL 数据库 userTrailMapper.batchInsert(records); } // 定时任务,每隔一段时间执行一次 @Scheduled(fixedRate = 60000) // 60秒 public void processUserTrails() { log.info("开始处理用户轨迹数据..."); // 从 Redis 中取出用户轨迹数据并批量插入到 MySQL 数据库 List<UserTrail> userTrails = redisTemplate.opsForList().range(USER_TRAIL_QUEUE, 0, -1); assert userTrails != null; if (!userTrails.isEmpty()) { saveUserTrailsToDatabase(userTrails); redisTemplate.opsForList().trim(USER_TRAIL_QUEUE, 1, -1); } } @Override public boolean add(UserTrail record) { // 异步将用户轨迹数据存储到 Redis saveUserTrailToRedis(record); return true; // 返回成功,不等待数据库插入完成 } } mapper层package com.xy.admin.mapper; import com.xy.admin.entity.UserTrail; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> * Mapper 接口 * </p> * * @author duGalaxy * @since 2024-01-31 */ @Mapper public interface UserTrailMapper extends BaseMapper<UserTrail> { void batchInsert(@Param("list")List<UserTrail> records); } 对应xml,实现批量sql<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- Mapper XML文件 --> <mapper namespace="com.xy.admin.mapper.UserTrailMapper"> <insert id="batchInsert" parameterType="java.util.List"> INSERT INTO user_trail (iptv_account, route, details, time, type) VALUES <foreach collection="list" item="record" separator=","> (#{record.iptvAccount}, #{record.route}, #{record.details}, #{record.time}, #{record.type}) </foreach> </insert> </mapper> 该项目使用了redis,用户行为会先保存在redis,每隔60秒会触发定时任务将redis中的数据持久化到mysql。
2024年02月01日
19 阅读
0 评论
0 点赞
1
2
3
...
19