热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自动生成编码(java后台)

1.在数据库中建张表(最大值,字符前缀)   2.mapper中的dao层根据字符前缀查询     3.mapper.xml文件SQL语句注:红色圈(存在时更新,不存在是添加。具体

1.在数据库中建张表(最大值,字符前缀)

 

 

 

2.mapper中的dao层

根据字符前缀查询

 

 

 

 

 

3.mapper.xml文件SQL语句

注:红色圈(存在时更新,不存在是添加。具体访问:):https://www.cnblogs.com/liaojie970/p/6824773.html

根据字符前缀查询的SQL

 

 

 

 

 

4.封装方法(参数拼接)

 

 

 

5.封装方法(字符拼接)

@Service
public class SysAssetsCodeService implements ISysAssetsCodeService {
private Lock lock = new ReentrantLock();
@Autowired
private SysAssetsCodeMapper codeMapper;
@Override
@Transactional
public String getCode(String preFixe,int numCode) {
try {
lock.lock();
int result = codeMapper.insertAssetsCode(preFixe);
SysAssetsCode sysAssetsCode = codeMapper.selectByPrefix(preFixe);
if(sysAssetsCode != null && result > 0 ){
return String.format("%s%"+numCode+"d", preFixe,sysAssetsCode.getMaxinx()).replace(" ", "0");
}else{
throw new RuntimeException("获取编码失败");
}
} finally {
lock.unlock();
}
}
}

6.Controller控制层

/**
* 根据资产编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:assets:query')")
@GetMapping(value ={"/", "/{id}"})
public AjaxResult getInfo(@PathVariable(value = "id", required = false) Long id)
{
AjaxResult ajax = AjaxResult.success();
SysAssets assets = null;
if(StringUtils.isNotNull(id)){
assets = assetsService.selectAssetsById(id);
}else{
assets = new SysAssets();
assets.setCodeId(codeService.getCode("YFCX",5));
}
ajax.put(AjaxResult.DATA_TAG,assets);
return ajax;
}

 



推荐阅读
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 本文介绍了 Python 中的基本数据类型,包括不可变数据类型(数字、字符串、元组)和可变数据类型(列表、字典、集合),并详细解释了每种数据类型的使用方法和常见操作。 ... [详细]
  • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
  • 本文介绍了如何在 Spring Boot 项目中使用 spring-boot-starter-quartz 组件实现定时任务,并将 cron 表达式存储在数据库中,以便动态调整任务执行频率。 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 本文介绍了如何在 Spring 3.0.5 中使用 JdbcTemplate 插入数据并获取 MySQL 表中的自增主键。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 本文讨论了在 Oracle 10gR2 和 Solaris 10 64-bit 环境下,从 XMLType 列中提取数据并插入到 VARCHAR2 列时遇到的性能问题,并提供了优化建议。 ... [详细]
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
author-avatar
中国中国NO1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有