强强的个人技术博客 医技科室软件(PACS, RIS)码农

[JAVA]Java中判断两个BigDecimal中的大小

JAVA中的BigDecimal类型时间比较特殊,不能用普通的=


适用compareTo方法, 返回大于,等于,小于 0

BigDecimal  a = BigDecimal.ZERO;
BigDecimal  b = BigDecimal.ZERO;
System.out.println(a.compareTo(b));
var flag = a.compareTo(b);
if(flag>0){
    System.out.println("a 大于 b");
}else  if(flag==0){
    System.out.println("a 等于 b");
}else {
    System.out.println("a 小于 b");
}

 

2024年11月22日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA]idea 设置项目jdk版本

不同项目jdk版本不一样时,idea设置不同jdk版本的方法

 


1、创建项目时配置JDK:

打开IDEA,点击File菜单下的Project Structure[项目结构]。

2024年2月20日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA]Java 开发遇到java.lang.UnsupportedOperationException 错误解决方法

Java 开发遇到java.lang.UnsupportedOperationException 错误解决方法

在java中有时候List集合操作有时候回报错:java.lang.UnsupportedOperationException 

这个是java中有可变集合和非可变集合

通常:

.collect(Collectors.toList()); 这个方法可以生成可变集合

2024年1月31日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA] java 集合排序多个属性排序方法

java 集合排序多个属性排序方法

sorted 方法

sorted 是对list转换成stream流的方法,不对有有list元素排序,而是返回一个排序后的新list:  

2023年10月20日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA] java中BigDecimal类型的使用

java中BigDecimal类型的使用


一、说明:

BigDecimal属于java.math包,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。

在实际应用中,需要对更大或者更小的数进行运算和处理。

2023年8月14日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA] Spring Boot 和 mybatis 实现MySql数据库增删改查

MyBatis说明:

MyBatis,原名 iBatis,由原来的 apache 迁移到了谷歌,更名为 MyBatis。MyBatis 指的就是 iBatis 3.x 后的版本。

MyBatis 是采用 ORM(Object Relational Mapping,对象关系映射)思想实现的持久化层框架,之前学习持久层解决方案

2023年7月24日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA] Maven配置默认的远程仓库

Maven配置默认的远程仓库

idea默认的的Mavend文件夹下idea安装路径下的:plugins\maven\中

找到配置文件路径下的:settings.xml文件,找到配置:

2023年7月24日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA] Integer 转string 长度不足左补0 的方法

JAVA 中Integer 转string 长度不足左补0 的方法

方法一:

//123为Integer类型,0代表前面要补的字符 10代表字符串长度,d表示参数为整数类型
Integer num = 123;
String s=String.format("%010d", num )


2023年7月17日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA] Spring Boot 根据请求头返回xml或json

我们开开发中经常有不同的返回需求,下面就在sprintboot中根据请求头Accept 返回xml或json的方法

首先添加依赖:

2023年7月12日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA] jdk 17 连接sqlserver 提示 SSL 问题解决

今天使用java操作sqlserver数据库,启动就报错:

"驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”


2023年7月3日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA] 获取当前时间的方法

JAVA 获取当前时间的方法

public static void main(String[] args) {
    var sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    //方法一:
    var now = new Date();
    System.out.println(sdf.format(now));

    //方法二:
    var now2 = System.currentTimeMillis();
    System.out.println(sdf.format(now));

    //方法三:
    Calendar calendar = Calendar.getInstance();
    var year = calendar.get(Calendar.YEAR);
    var month = calendar.get(Calendar.MONTH);
    var Date = calendar.get(Calendar.DATE);
    var hour = calendar.get(Calendar.HOUR);
    var minute = calendar.get(Calendar.MINUTE);
    var second = calendar.get(Calendar.SECOND);

    System.out.println(year+"-"+month+"-"+Date+" "+hour+":"+minute+":"+second);
}

输出效果:

2023年6月27日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA] 获取当前日期所在周,月,年的第几天

JAVA 获取当前日期所在周,月,年的第几天

示例:

public static void main(String[] args) {
    Calendar calendar = Calendar.getInstance();
    //时间
    Date nowDate = new Date();

    calendar.setTime(nowDate);
    int weekDay = calendar.get(Calendar.DAY_OF_WEEK);
    int monthDay = calendar.get(Calendar.DAY_OF_MONTH);
    int yearDay = calendar.get(Calendar.DAY_OF_YEAR);

    weekDay = (weekDay==1?7:weekDay-1);
    System.out.println("当前时间是:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( nowDate ));
    System.out.println("当前时间是:本周的天:"+weekDay);
    System.out.println("当前时间是:本月的天:"+monthDay);
    System.out.println("当前时间是:本年的天:"+yearDay);
}

输出效果:

2023年6月27日 | 发布:强强 | 分类:JAVA | 评论:0

[JAVA] 去除List集合中重复项的方法

JAVA 去除List集合中重复项的方法


方法一、使用hashSet  (保留集合顺序)

public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("aaa");
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    list.add("ddd");
    list.add("ddd");
    
    Set set = new HashSet();
    List newList = new ArrayList();
    for (String s : list) {
        if(set.add(s)){
            newList.add(s);
        }
    }
    System.out.println(newList);
}

输出效果:

2023年6月27日 | 发布:强强 | 分类:JAVA | 评论:0

Java中的关键词

Java关键词 

关键词一览:

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile
truefalsenull********

 说明:

2023年5月25日 | 发布:强强 | 分类:JAVA | 评论:0

idea右侧gradle窗口没有找回办法

今天把项目重新从Git上拉一下,idea 右侧没有了gradle窗口了,不会自动加载依赖了。。


解决办法:

1、找到项目工程中的build.gradle文件

2、右键,选择 【import Gradle Project】菜单,此时右侧都有了


2023年5月18日 | 发布:强强 | 分类:JAVA | 评论:0

springboot JPA的JPQL中判断查询条件是否为空

springboot JPA的JPQL中判断查询条件是否为空

环境:

springboot postgres 

controller:

    @PostMapping("/demo/Demo01")
    public List<Employee> Demo01(@RequestBody Employee emp){
        return empService.Demo01(emp.getEmpName(),emp.getAge());
    }

service:

    public List<Employee> Demo01(String empName, int age) {
        return employeeRepository.Demo01(empName,age);
    }

repository:

    @Query(nativeQuery=true,value="select * from Employee where 1=1 and "
            + " case when :empName is not null and :empName!='' then emp_Name = :empName else 1=1 end "
            + " and "
            + " case when :age>0 then age=:age else 1=1 end ")
    List<Employee> Demo01(@Param("empName")String empName, @Param("age")int age);

核心处理的地方:

2023年5月16日 | 发布:强强 | 分类:JAVA | 评论:0