java
程序员良良
这个作者很懒,什么都没留下…
展开
-
json串转复杂对象嵌套对象
【代码】json串转复杂对象嵌套对象。原创 2022-12-30 17:24:21 · 1313 阅读 · 1 评论 -
java 分割字符串,匹配多种分隔符
有时候需要用户输入多个值,比如用逗号分割,用户可能用“中文逗号”,也可能用“英文逗号”,这时候后端可以用 str.split("[,,]"),或者 str.split(",|,") public static void main(String[] args) { // 用“中文逗号”,“英文逗号”,“空格”,“顿号”,“斜杠”,“短横线”等分割 // String[] letterArray = "a,b,c d/e、f\tg".split(",|,| |、|/|\t");//原创 2022-04-29 11:27:47 · 3996 阅读 · 0 评论 -
没有事务也可重复读
@PostMapping("/testValue") @ResponseBody// @Transactional(rollbackFor = Exception.class) // 注意这里没有事务 public void testValue(@RequestBody String aaa) throws InterruptedException { for (int i=0;i<20;i++) { Thread.slee...原创 2021-04-01 17:08:08 · 138 阅读 · 0 评论 -
IDEA 常用快捷键 eclipse模式
切换快捷键模式的方法:一:eclipse模式1. ctrl+L可以跳到指定行2. ctrl+shift+数字键:可以给代码打标签。跳回到这行代码就按ctrl+这个数字。再按ctrl+shift+这个数字可以把这个书签取消掉。3. Ctrl + shift + R :跳转到指定的文件 或者用(双击Shift)4. Ctrl + E:最近打开的文件5. Alt + Shift + R:重命名6. Alt + Shift + M:提取本地方法(一段代码提...原创 2021-03-26 11:46:51 · 636 阅读 · 0 评论 -
Java 截取两个符号之间的字符串 截取特定两个标记之间的字符串,${xxx}
public static void main(String[] args) { // 截取“${”与“}”之间的字符串 Pattern regex = Pattern.compile("\\$\\{([^}]*)\\}"); Matcher matcher = regex.matcher("${aaa}借给${bbb}五毛钱"); while(matcher.find()) { System.out.pri...原创 2021-03-24 11:55:36 · 933 阅读 · 0 评论 -
JPA EntityManager Specification CriteriaQuery 动态条件求和 统计 汇总
1. 求和查询方法 private ReceivablesCostSumVO sumReceivablesCostDO(Specification<ReceivablesCostDO> receivablesCostDOSpecification) { final CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); // 返回值类型 ReceivablesCostSum原创 2021-02-28 19:23:46 · 1740 阅读 · 0 评论 -
订单延迟取消 订单超时取消 定时关闭订单 延迟队列 延时队列 java SpringBoot
1. 创建队列、交换机延迟交换机:exchange.delay.someMessage延迟队列:queue.delay.someMessage死信交换机:exchange.deadLetter.someMessage死信队列:queue.deadLetter.someMessage延迟交换机 与 延迟队列 绑定死信交换机 与 死信队列 绑定1.1 注意:创建延迟队列时设置 x-dead-letter-exchange创建 延迟队列 queue.delay.someMessage时,设置 x.原创 2021-02-28 14:46:49 · 592 阅读 · 3 评论 -
no suitable HttpMessageConverter found for response type 异常
报错:org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [...] and content type [text/html;charset=utf-8]解决办法: HttpHeaders headers = new HttpHeaders();原创 2020-11-27 11:38:14 · 4574 阅读 · 1 评论 -
JPA查关联对象为空、为null的 isNull isEmpty
CriteriaBuilderCriteriaBuilder Specification<ReceiptSource> spec1 = (Root<ReceiptSource> root, CriteriaQuery<?> query, CriteriaBuilder cb) -> { Predicate predicate = cb.conjunction(); predicate = cb.a原创 2020-09-18 09:11:19 · 5495 阅读 · 0 评论 -
Gson对象转json时有个坑 IllegalArgumentException declares multiple JSON fields named
子类父类都有字段name,在B的对象转json时会报异常public class A { private String name;}public class B extends A{ private String name;}public class Test { public void test() { Gson gson =new Gson(); String s = gson.toJson(new B()); }}原创 2020-09-15 17:42:25 · 2196 阅读 · 0 评论 -
JPA用接口接收返回值,JPA指定返回值字段
@Repositorypublic interface ICodeUnionBankRepository extends JpaRepository<CodeUnionBankDO, String> { //返回值用接口类型接收(DicItemVO 为接口类型,无需自己实现) List<DicItemVO> findByIseffectTrueAndIsdeleteFalse();}返回值类型public interface DicItemVO {原创 2020-09-08 16:21:46 · 1896 阅读 · 0 评论 -
java 控制台展示带参数的完整SQL语句
hibernate打印的sql默认是带占位符的,参数需要自己拼接p6spy可以展示完整语句pom: <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>3.7.0</version> </dependency&原创 2020-09-03 11:27:16 · 575 阅读 · 0 评论 -
Java8 使用并行流 parallelStream() 你可能会得到意想不到的结果
1. 当并行流遇上事务表中数据 @Autowired TestDORepository testDORepository; @Transactional(rollbackFor = Exception.class) public void testC() { // 数据库查表中所有数据 List<TestDO> testDOList = testDORepository.findAll(); System.ou原创 2020-09-01 16:59:50 · 2249 阅读 · 0 评论 -
事务注解 @Transactional(rollbackFor = Exception.class) 为什么写rollbackFor = Exception.class
在@Transactional注解中如果不配置rollbackFor属性,那么事物只会在遇到RuntimeException的时候才会回滚,加上rollbackFor=Exception.class,可以让事物在遇到非运行时异常时也回滚原创 2020-08-31 10:25:36 · 435 阅读 · 0 评论 -
springboot2.X Redis接口缓存
不同接口使用不同配置。注解中的value值与配置中 RedisCacheConfiguration的key对应。可以指定方法使用的配置。@Cacheable(value = "my-redis-cache1")上面 value 值对应配置中 configMap 的 keyconfigMap.put("my-redis-cache1", config);配置@Configur...原创 2019-07-02 14:46:21 · 268 阅读 · 0 评论 -
不要在foreach循环里进行remove/add操作。
不要在foreach循环里进行remove/add操作。remove元素请使用Iterator方法如果并发操作,需要对Iterator对象加锁。 正例:List<String> list = new ArrayList<>();list.add("1");list.add("2");list.add("3");Iterator<St...原创 2018-11-05 14:09:41 · 335 阅读 · 0 评论