李留冰吧 关注:1贴子:66
  • 14回复贴,共1

JAVA 常用工具包

只看楼主收藏回复



IP属地:浙江1楼2020-06-19 14:55回复
    廖雪峰的 JAVA 复习 https://www.liaoxuefeng.com/wiki/1252599548343744/1320418596093986


    IP属地:浙江2楼2020-06-19 15:03
    回复
      广告
      立即查看
      Jackson 对应json数据的操作
      引入依赖
      <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.1</version>
      </dependency>
      主要对于ObjectMapper 的使用
      ObjectMapper mapper = new ObjectMapper();
      对于ObjectMapper对象的主要的俩个方法
      writeValue 将java 对象转化为json对象
      readValue 将json对象反序列化为java对象


      IP属地:浙江3楼2020-06-19 16:52
      回复
        Jackson常用注解
        @JsonProperty 属性命名 value Json排序 index
        @JsonIgnoreProperties({"prop1","prop2"}) 类注解会忽略 prop1 和 prop2
        @JsonIgnoreProperties(ignoreUnknow=true) 忽略没有Getter 和 Setter 的属性
        @JsonIgnoreType也是类注解,会排除所有指定类型的属性
        @JsonPropertyOrder 和 @JsonProperty 的index一样 属性排序
        @JsonRootName 注解用于指定根属性的名称


        IP属地:浙江4楼2020-06-22 08:43
        回复
          LocalDateTime.now()
          指定年月日 时分秒
          LocalDateTime.of(2010,10,10,17,20,30)
          与获取相关的方法
          get类方法
          获取年now.getYear() 获取月now.getMonth() 获取Month的枚举值now.getMonthValue()
          获取月份的天数now.getDayOfMonth() 获取小时now.getHour() 获取分钟now.getMinute()
          获取秒now.getSecond() 获取星期几now.getDayOfWeek


          IP属地:浙江7楼2020-06-22 15:56
          回复
            字符串和日期之间的转换
            DateTimeFormatter f = DateTimeFormatter .ofPattern("yyyy年MM月dd日 HH时mm分ss秒");
            //格式化日期
            LocalDateTime now= LocalDateTime.now();
            String time = now.format(f);
            //字符串转换为日期
            LocalDateTime local = LocalDateTime .parse(time,f);


            IP属地:浙江8楼2020-06-22 16:06
            回复
              与转换相关的方法
              LocalDateTime now = LocalDateTime.now();
              //转换为年月日
              LocalDate date = now.toLocalDate();
              //转换为时分秒
              LocalTime time = now.toLocalTime();


              IP属地:浙江9楼2020-06-22 16:11
              回复
                判断的方法
                isAfter() 判断是否在一个日期之后
                isBefore() 判断是否再一个日期之前
                isLeapYear() 判断是否闰年
                添加年月日的方法
                plusYears(2)
                plusMonths(1)
                plusDays(3)
                减去年月日的方法
                minusYears()
                minusMonths()
                minusDays()


                IP属地:浙江10楼2020-06-22 16:56
                回复
                  广告
                  立即查看
                  指定年月日时分秒中一个分方法
                  LocalDate now = LocalDate.now();
                  //使用with方法返回的时一个新的 对象
                  LocalDate new1 = now.withYear(2020);
                  LocalDate new1 = now.withMonth(12);
                  TemporalAdjuster 类型 可以和now.with(temporalAdjuster)方法配合使用
                  dayOfWeekInMonth() – 一周中的某一天,例如,三月中第二个星期二
                  firstDayOfMonth() – 当前月的第一天
                  firstDayOfNextMonth() – 下一个月的第一天
                  firstDayOfNextYear() – 下一年的第一天
                  firstDayOfYear() – 当年的第一天
                  lastDayOfMonth() – 当月的最后一天
                  nextOrSame() – 下一次或当天发生的一周中的某天


                  IP属地:浙江11楼2020-06-22 19:39
                  回复
                    //Instant 时间戳类
                    Instant时间戳类从1970-01-01 00:00:00 截至到当前时间的毫秒值
                    Instant now = Instant.now() 取出来的时间 和我差八小时 +8 Hour
                    //atOffset 设置偏移量
                    OffsetDateTime offsetDateTime = now.atOffset(ZoneOffset.ofHour(8));
                    //atZone 设置时区
                    ZonedDateTime zonedDateTime = now.atZone(ZoneId.systemDefault());


                    IP属地:浙江12楼2020-06-22 20:13
                    回复
                      Instant Instant now = Instant.now()
                      get系列方法
                      getEpochSecond():
                      获取从1970-01-01 00:00:00到当前时间的秒值
                      getNano():
                      是把获取到的当前时间的秒数 换算成纳秒
                      ofEpochSecond()
                      给计算机元年增加秒数
                      Duration:
                      用于计算两个“时间”间隔的类
                      Duration between = Duration.between(start, end);
                      //两个时间戳间隔的毫秒
                      long l = between.toMillis();
                      Period:
                      用于计算两个“日期”间隔的类
                      LocalDate of = LocalDate.of(1995, 5, 5);
                      LocalDate now = LocalDate.now();
                      //用于计算两个“日期”间隔的类
                      Period between = Period.between(of, now);
                      int years = between.getYears();
                      int months = between.getMonths();
                      int days = between.getDays();


                      IP属地:浙江13楼2020-06-22 20:42
                      回复
                        ZoneID 世界时区类
                        1.获取世界各个地方的时区的集合 的方法getAvailableZoneIds()
                        使用ZoneID中的静态方法getAvailableZoneIds();来获取
                        例如:Set availableZoneIds = ZoneId.getAvailableZoneIds();
                        2.获取系统默认时区的ID
                        ZoneId zoneId = ZoneId.systemDefault(); //Asia/Shanghai
                        3.获取带有时区的日期时间对象
                        //创建日期对象
                        LocalDateTime now = LocalDateTime.now();
                        //获取不同国家的日期时间根据各个地区的时区ID名创建对象
                        ZoneId timeID = ZoneId.of("Asia/Shanghai");
                        //根据时区ID获取带有时区的日期时间对象
                        ZonedDateTime time = now.atZone(timeID);
                        //方式2 通过时区ID 获取日期对象
                        LocalDateTime now2 = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));


                        IP属地:浙江14楼2020-06-22 20:49
                        回复
                          Hibernate框架
                          引入相应的 jar包
                          <properties>
                          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                          <hibernate.version>5.2.1.Final</hibernate.version>
                          </properties>
                          <dependencies>
                          <dependency>
                          <groupId>org.hibernate</groupId>
                          <artifactId>hibernate-core</artifactId>
                          <version>${hibernate.version}</version>
                          </dependency>
                          <dependency>
                          <groupId>mysql</groupId>
                          <artifactId>mysql-connector-java</artifactId>
                          <version>8.0.12</version>
                          </dependency>
                          <dependency>
                          <groupId>junit</groupId>
                          <artifactId>junit</artifactId>
                          <version>4.11</version>
                          <scope>test</scope>
                          </dependency>


                          IP属地:浙江16楼2020-06-28 18:26
                          回复
                            Hibernate注解
                            @entity 注释将此类标注为实体。
                            @Table 注释指定要保留此实体的数据的表名。 如果不使用@Table注释,hibernate将使用类名作为表名称bydefault。
                            @Id 注释标记此实体的标识符。
                            @column 注释指定此属性或字段的列的详细信息。如果未指定@Column注释,则属性名称将用作列名称bydefault。


                            IP属地:浙江17楼2020-06-28 18:30
                            回复
                              广告
                              立即查看
                              复制属性的 PropertyUtils


                              IP属地:浙江来自Android客户端18楼2021-01-07 11:16
                              回复