Java生成有规则的编号
做订单、出入库单等等数据时,往往需要自动生成有一定规则的编号。
编号格式为:两个字母+日期(8位)+编号(3位)。
第一种方法:其中,日期为系统当前的日期。首先获取系统当前日期,然后根据日期格式将date类型转换成String类型即可。
SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");//设置日期格式String date = f.format(new Date);
后三位编号根据数据库中当天已存在编号进行自增。首先需要查询出数据库中当天的编号并且以降序排序。sql语句如下:
String sql = "select * from 数据库表名 where 字段 like '字母"+date+"%' order by 字段 desc";
查询的数据放在集合内,判断集合内是否有数据。有数据就获取集合中第一条数据中的编号(最大号),再截取编号的后三位,转换为int类型,自增后再转换为String类型,通过三目运算符循环三次在前面加0直至为三位数的字符串, ...
基于TaskScheduler和CronTask实现动态增删启停定时任务功能
在spring boot项目中定时任务的开发方式:一、可通过@EnableScheduling注解和@Scheduled注解实现二、可通过SchedulingConfigurer接口来实现三、集成Quartz框架实现注意:第一和第二方式不能动态添加、删除、启动、停止任务。在满足项目需求的情况下,尽量少的依赖其它框架,避免项目过于臃肿和复杂是最基本的开发原则。查看 spring-context 这个 jar 包中 org.springframework.scheduling.ScheduledTaskRegistrar 这个类的源代码,发现可以通过改造这个类(主要是基于TaskScheduler和CronTask两个类来实现)就能实现动态增删启停定时任务功能。
项目依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...
screw (螺丝钉) 数据库表结构文档生成工具
数据库文档也是交付的重要内容,本文的工具可以帮助大家快速生成相应文档,并支持多种数据库 在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人。
screw 特点
简洁、轻量、设计良好。不需要 powerdesigner 这种重量的建模工具 多数据库支持 。
支持市面常见的数据库类型MySQL、Oracle、SqlServer
多种格式文档。支持 MD、HTML、WORD 格式
灵活扩展。支持用户自定义模板和展示样式
数据库支持
MySQL
MariaDB
TIDB
Oracle
SqlServer
PostgreSQL
Cache DB
文档生成支持
html
word
markdwon
文档截图html
word
markdwon
SpringBoot整合screw生成数据库文档代码生成(推荐)依赖<!--freemarker模版--><depen ...
浅析 VO、DTO、DO、PO 的概念、区别和用处!
本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念:
概念:VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。
PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。
模型:下面以一个时序图建立简单模型来描述上述对象在三层架构应用中的位置
用户发出请求(可能是填 ...