mybatis-plus 查询一条记录
首先注入 mapper 服务实现类,看到原来的写法:QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("aaa", "bbb"); routeService.list(queryWrapper).get(0)然后莫名觉得为什么不直接使用 getOne() 呢,这样不是更明了吗?在没
首先注入 mapper 服务实现类,看到原来的写法:QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("aaa", "bbb"); routeService.list(queryWrapper).get(0)然后莫名觉得为什么不直接使用 getOne() 呢,这样不是更明了吗?在没
一开始使用的是 HashMap 参考原来写的添加参数:Map<String, Object> paramMap = new HashMap<>(); paramMap.put(key, value);后来发现请求的另一个服务通过 @RequestParam 并不能获取到参数,还会报错。添加 @RequestParam(required = false) 是可以不报错,但参数
按照接口要求创建了返回类,然后通过 @RestController 直接输出 JSON 格式数据。要求返回类中每一个属性都要按照对方文档里指定的顺序返回,在类中调整了各个属性顺序,返回顺序一致了。之后要从另外一个服务中拿数据再返回:ResponseEntity<String> responseEntity = restTemplate.exchange(url, httpMethod,
第一种最直接,再 yml 或 properties 配置文件中定义,然后通过 @Value 注入到需要使用的 @Component。 @Value("#{${mqtt.upgrade}}") private Map<String, String> mqttUpgrade;上面的例子是在正常获取配置值 ${} 外面增加了 #{},表示可执行的语句,可以将
意思是 mysql:mysql-connector-java:jar 存在多个版本。查看 pom.xml 文件,发现确实引入了两个,其中一个标注为 runtime。注释或删除一条,重新打包,ok 了。
遇到的场景:netty 中初始化 mqtt 服务,添加处理器时,默认使用的是 new MstMqttSocketHandler() 返回处理器。if (isMqttRequest(msgBody)) { pipeline.addLast("mqttDecoder", new MqttDecoder()) .addLast(MqttEncoder.
之前用的是 2022.2.1 版本的,发现有 3.1 新版本就不自觉地升级了。然后看到 spring boot 视频教程里在 application.properties 文件里添加配置时是由提示和自动完成的。他那个应该是 Ultimate 版本,而我使用的时 Community 版本,想着再怎么区别基本的需求应该是可以满足的吧。一开始在 IDE 的插件库里找 spring 相关的插件,只发现一个
thymeleaf 引入后请求返回的是字符串而非 html 模板页面先引入 thymeleaf starter:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactI
找了一下,Java快速创建List常用几种方式 - CSDN 最全,这边做一个摘录。/* new 方法*/ List<String> list = new ArrayList<>(); list.add("Hello"); list.add("World"); /* Arrays工具类 */ List<String> l
在学习 netty 建立 tcp 通讯连接时,不同情况下收集了多个关闭 channel 的方法#1 ctx.writeAndFlush("timeout").addListener(ChannelFutureListener.CLOSE_ON_FAILURE); #2 ctx.writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(Ch