- 博客(58)
- 收藏
- 关注
原创 SQLSERVER-DB操作记录
如果你已经有一个表结构存在,或者你想手动指定新表的列名和类型,可以使用INSERT INTO SELECT语句。这允许你选择性地选择列。SELECT INTO 语句可以直接将查询结果作为一个新表创建出来。这个新表的结构(包括列名和数据类型)将与查询结果匹配。在SQL Server中,将查询结果放入一张新表可以通过几种方法实现。方法2:使用INSERT INTO SELECT语句。方法1:使用SELECT INTO语句。
2025-06-09 14:07:09
178
原创 达梦DB操作记录
方法1:使用 CREATE TABLE …AS SELECT(CTAS)语句(推荐)方法2:使用 CREATE TABLE …LIKE + INSERT SELECT。
2025-06-06 15:06:57
231
原创 jdbcTemplate.query备忘录
执行计划无法复用:即使参数化查询,若每次参数类型变化大(如从INT变VARCHAR),可能导致数据库重新生成执行计划。通过参数化查询,数据库引擎能更高效地工作,尤其在并发高、数据量大时,性能提升可能达到数倍甚至更高。避免在循环中执行查询:改用批量操作(batchUpdate)或IN查询。统一参数类型:确保传入参数类型与数据库列类型一致,避免执行计划失效。小数据量:表数据少或查询次数少时,数据库能快速解析,差距不易察觉。永远使用参数化查询:避免SQL注入 + 提升性能。查询速度为什么差距这么大。
2025-06-05 14:05:34
194
原创 sun连接sqlserver
获取用户: GET http://localhost:8080/api/users/1。7、创建 Controller (UserController.java)2、 配置数据库连接 (application.properties)6、创建 Service 层 (UserService.java)4、创建 Mapper 接口 (UserMapper.java)8、主应用类 (DemoApplication.java)9、SQL Server 建表脚本 (示例)5、创建 Mapper XML。
2025-06-05 14:01:34
167
原创 jdbcTemplate防止注入写法
只要严格使用参数化查询(?参数绑定:通过 PreparedStatement 将参数值与 SQL 语句分离。类型安全:自动处理数据类型转换(如 Date → java.sql.Date)自动转义:JDBC 驱动会自动处理特殊字符(如单引号转义为 ‘’)白名单校验:对于排序字段等必须动态拼接的场景,使用白名单校验。这是最核心的防注入方式,所有动态参数都应该通过参数绑定传递。禁用字符串拼接:永远不要将用户输入直接拼接到 SQL 中。日志监控:启用 SQL 日志,监控异常查询模式。所幸这一期给一个改进写法。
2025-05-29 15:07:24
441
原创 线程de安全性备忘
问题:当其他线程在遍历过程中修改集合(增删元素),会触发 ConcurrentModificationException。关键点:通过 synchronized 块保证遍历过程的原子性,防止并发修改(如多线程同时增删元素)。关键点:通过显式锁控制线程访问,避免 synchronized 的隐式锁机制,灵活性更高。问题:遍历和修改共享资源时未同步,导致数据竞争(Data Race)和脏读。优点:底层通过数据副本实现读写分离,读操作无需加锁,适合读多写少的场景。
2025-05-27 11:06:10
244
原创 sqlserver连接报错问题
The server selected protocol version TLS10 is not accepted by client prefere
2025-05-10 11:14:04
122
原创 设计一个食品种类表
路径字段辅助:path字段存储层级路径(如"1.3.5"),可通过LIKE快速查询子树(如查询所有面食子类:WHERE path LIKE ‘1.%’)需求:设计一个食品种类表,注意食品种类有多层,比如面食下面,面条、方便面,面条下有干面、湿面等。冗余层级字段:level字段避免递归计算层级深度,提升统计效率(如统计所有三级分类数量)一、食品种类表结构设计(food_category)
2025-04-27 17:47:50
264
原创 汽车产业链主表及类别表设计
一、汽车产业链类别表(industry_chain_category)1、核心字段:定义产业链分类(如零部件、整车制造、销售服务等)1、业务字段:包含企业名称、统一社会信用代码等核心信息。2、关联关系:通过category_id外键关联分类表。二、汽车产业链主表(industry_chain)3、业务扩展:预留层级字段支持多级分类。2、主键约束:自增ID作为唯一标识符。3、数据约束:唯一索引防止重复数据。
2025-04-27 11:02:46
409
原创 信用医疗中患者账单设计
3)技术实现:需对接医保系统、医院HIS系统及金融机构接口,确保数据实时交互(如广州市的“四端一体”模式整合医保、医院、银联和银行系统 )1)系统根据患者信用评级(基于政务大数据或银行授信)自动垫付自费部分(如深圳南山区的“银行垫付、国企担保”模式,不占用个人征信额度 )。2)医保部分通过接口实时结算,自费部分由信用额度垫付,生成待还款账单(如北京市的医保实时结算与银行垫付模式)1)信用评估系统:整合政务、医疗、金融数据构建用户画像(如苏州市通过大数据平台完成患者信用建模 )。
2025-04-15 10:44:51
878
原创 【jv实现区块链交易存证记录】
为了实现这一点,我需要一个方法来验证每个区块的哈希值是否正确,以及每个区块的前一个哈希值是否与前一个区块的哈希值匹配。每个交易的输入应该指向一个未被花费的输出,而输出则表示交易的接收方和金额。哈希值的计算需要使用加密算法,我决定采用SHA-256算法,因为它是区块链中常用的加密算法,能够保证数据的完整性和安全性。此外,还需要验证交易的数字签名是否有效,以确保交易是由合法的发送方发起的。1、如何在Java中构建区块链的基本结构,包括区块的创建、交易的处理和验证等。该文章仅供自己后期项目参考。
2025-03-31 15:40:23
374
原创 一次生产问题排查记录
原因控制器在第二次发送数据时,参数里面有特色符号。导致服务报错,500.由于DTU提供了访问地址,PLC控制器扫码两次,第二次就有问题。控制器调试一下,再次测试。
2025-03-06 10:05:13
147
原创 加密当前时间并创建表
1、获取当前时间戳。2、使用MD5加密时间戳生成ID。3、拼接表名t_key_id。4、使用JDBC执行CREATE TABLE语句。
2025-03-04 16:57:43
288
1
原创 工具类留痕记录2
3、递归或迭代遍历:从当前节点开始,向上查找所有父级节点,向下查找所有子级节点。idToRegionMap:通过区域ID快速找到对应的Region对象。parentIdToChildMap:通过父级ID快速找到所有子区域。2、分组数据:创建一个父级ID到子级列表的映射,便于快速查找和遍历。1、构建数据结构:将区域数据存储在一个列表或集合中。
2025-02-22 15:05:00
248
原创 递归找100以内的奇数和偶数存放在集合
递归应该用来遍历数字,从1到100。每次调用递归函数时,处理当前的数字,判断奇偶性,然后分别添加到对应的列表里。
2025-02-20 13:40:46
192
原创 字母去重与排序算法实现
去重处理:使用TreeSet集合来存储字符,利用其自动去重和排序的特性。遍历字符:将输入字符串中的每个字符添加到TreeSet中,重复的字符会被自动去除。生成结果:将TreeSet中的字符按顺序拼接成字符串输出。TreeSet确保元素唯一并按自然顺序(ASCII顺序)排列,适用于区分大小写的情况。如果希望不区分大小写,可在添加字符前统一转换为小写或大写。一、(此方法默认大小写一致)二、加上大小写处理方式。
2025-02-20 10:40:53
180
原创 从00000开始取一个数就加一
维护一个整数变量,初始为0,每次加1。当这个整数超过99999时,取模运算,比如n % 100000,这样得到的数值会循环到0到99999之间。然后将这个数值转换为五位数的字符串,不足五位的前面补0。例如,当数值是5的时候,转换成"00005",当数值是123的时候,转换成"00123",当数值是0的时候是"00000"。当数值是100000的时候,取模得到0,转换成"00000"。
2025-02-19 16:48:48
246
原创 springboot打成jar后导出ftl模板读取问题
此方法读取resource下的templates中的模板文件,在yml中配置以下路径信息。在运行jar包使用 -Dfile.encoding=UTF-8 xxxx。设置1中encoding为utf-8。1、使用以下方法读取模板文件。2、导出之后中文乱码。
2025-01-17 11:21:47
115
原创 App排他登录设计
1、数据表 single_session 以session_id 为主键, 这个主键是 userid + user name + user login time 的 md5值算出来的。每次用户登陆的时候就会向single_session表里插入一条,同时以userid、username为条件查询旧的session记录并且删除他。所以当页面判断当前用户是否有效时,是通过前端uni.getStorageSync里面保存在session_id值和数据库里取出来的session_id进行比较。
2024-10-20 20:47:58
200
原创 ng返回400
而对于Nginx server来说,也遵循这样的方式,说明client发送了一个无效的请求,Nginx server无法处理,于是返回了400的状态码。本次故障中,客户端的调用方式没有使用host 参数,传递了空的Host头给服务端,一旦Nginx设置了proxy_set_header Host $http_host,空Host头就传给了后端。然而,在http 1.1的规范中,Host只要出现空,就会返回400,所以出现了这个故障。没有问题,但是使用设备测试一直返回400,记录一下排查过程。
2024-10-15 10:16:13
754
1
原创 数据清洗部分方式
WITH 子句:定义了一个名为 SubjectCounts 的公共表表达式(CTE),用于计算每个班级中各个科目成绩在 90 分以上的个数以及总的学生人数。COUNT(*) FILTER (WHERE subject = ‘English’ AND score >= 90):统计英语成绩在 90 分以上的个数。) FILTER (WHERE subject = ‘Chinese’ AND score >= 90):统计语文成绩在 90 分以上的个数。class_id:班级 ID。
2024-09-12 19:57:40
374
3
原创 spring-boot-maven-plugin未指定版本
maven在编译打包过程中没有指定spring-boot-maven-plugin的版本,默认会从nexus仓库中拉取最新的打包插件版本,而最新的3.0.0版本不被jdk8支持,无法执行编译。需要用户在pom.xml文件中手动指定spring-boot-maven-plugin该插件的打包版本。比如: 加上版本2.2.6.RELEASE。
2024-08-09 14:08:01
511
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人