java
calmtho
这个作者很懒,什么都没留下…
展开
-
JdbcTemple常见错误
nested exception is java.sql.SQLException: ORA-17041: 索引中丢失 IN 或 OUT 参数:: 15。1.queryForObject,queryForList的进行泛型映射时,常见会报错说应该是多少条错误,实际是多少条,一般需要有至少有一条记录,最安全的做法是在这个方式时进行映射,直接获取map,再自己java处理。sql错误,检查是否拼接的时候是否应为 id in (1,2),漏了苹姐id in等这种写法。原创 2023-05-09 10:20:33 · 763 阅读 · 0 评论 -
Java实现常用设计模式之单例模式
基本概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。原创 2022-10-25 17:56:47 · 219 阅读 · 0 评论 -
JAVA接收带时区模板表达式写法
转载样例连接:https://blog.csdn.net/m0_57302315/article/details/121380113。也可以在spring的DateTimeFormat中使用!可结合前后端以及数据库综合使用!对应Java格式化,写法。转载 2022-08-12 12:44:32 · 756 阅读 · 0 评论 -
Java如何完整使用获取操作日志拦截请求参数
文章目录1.最传统的方式2.restful的方式3.使用了json方式即用了@requestBody注解简介:由于发展springmvc发展,请求的写法已经有好几种类型,现有获取请求参数要根据不同情况获取。主要有三种,传统,以及restful以及使用json形式参数放在请求体中传输1.最传统的方式即非json,非restful的方式,获取方式为:request.getParameterMap();2.restful的方式request.getAttribute(HandlerMapping.UR原创 2022-04-21 18:06:50 · 808 阅读 · 0 评论 -
Java实现最简易延时任务的操作
代码如下:Timer timer = new Timer();timer.schedule(new TimerTask() { @Override public void run() { System.out.println(LocalDateTime.now()+"执行了延时任务"); }}, 10000);这是同步代码,改造成异步即可原创 2022-03-29 11:26:18 · 770 阅读 · 0 评论 -
Java中关键字continue、break和return;的区别
Java中关键字continue、break和return的区别:continue:跳出本次循环继续下一次循环break: 跳出循环体,继续执行循环外的函数体return: 跳出整个函数体,函数体后面的部分不再执行public static void main (String[] args) { int j = 3; for (int i = 0; i < 5; i++) { if (i == j) { continue; } Syst转载 2021-09-16 16:34:45 · 210 阅读 · 0 评论 -
Java之stream流去重,单字段,多字段都可
1.封装工具类public class DeduplicationUtil { public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) { Map<Object,Boolean> seen = new ConcurrentHashMap<>(); return t -> seen.putIfAb转载 2021-08-22 21:12:53 · 3996 阅读 · 0 评论 -
@Value的用法及(“#{}“)与@Value(“${}“)的区别
@Componentpublic class Person { @Value("#{11*20}") private int age; @Value("true") private boolean merry; @Value("${person.name}") private String name;}1、@Value("#{}") Spring 表达式语言(简称SpEL)SpEL 字面量:整数:#{8}小数:#{8.8}科学计数法转载 2021-08-20 17:33:41 · 2112 阅读 · 0 评论 -
Springboot之借助springboot的jar启动内嵌tomcat实现运行静态资源(html,css,js)
此前试过springboot使用外置文件启动springboot,打成jar后使用在同级jar的目录下放一个config然后指定启动,切换profile的形式来实现多环境切换。用过外置tomcat,我们觉得最香的地方当然都说自动解析静态文件内容,比如CSS,JS,img等等,那到底有没有办法让jar的springboot项目也加载一份外置的静态文件,方便各个环境部署的时候不用在ide里改呢?经研究发现,可以使用,java -jar -Dspring.resources.static-locations原创 2021-08-14 02:02:25 · 750 阅读 · 0 评论 -
Java使用Stream流将一个集合里的某些字段转换为另外一个对象集合(属性名不需要一致)
当然有个前提是两个对象的属性类型一致才可以转换@Data@NoArgsConstructor@AllArgsConstructorpublic class Student { /** * id */ private String id; /** * 学生姓名 */ private String name; /** * 学生性别 */ private String gender; /原创 2021-08-09 17:44:31 · 9125 阅读 · 2 评论 -
Java之JDK动态代理代码使用
动态代理强在哪,强在动态,比起可以更灵活实现代理下面展示代码:/** * 房东 */public interface Landlord { /** * 出租方法 */ void lend();}public class PersonA implements Landlord{ @Override public void lend() { System.out.println("我是房东A,我的房子是一房一厅,可租");原创 2021-07-16 01:16:22 · 171 阅读 · 0 评论 -
Java之静态代理
文章目录简介1.接口2.原实现类3.代理类4.测试解析简介网上很多文章都会巴拉巴拉说一大通设计模式怎么怎么样,代理模式更是老生常谈。这里简单总结一下,然后就说明一下代码实现。为什么需要代理,首先肯定的是原对象功能不够强大需要增强,又不想改变原来对象原来的拥有权和状态。房产中介就是一个例子,中介可以帮原本的对象代理看房,授权签约。那么为什么需要中介,究其原因就是个人资源有限,中介的传播资源速度更快,可以更快的实现房东需要租卖这一功能。实权依旧在房东这,过户签约必须要有房东,代理需要有房东的授权。清晰明了原创 2021-07-16 00:04:43 · 784 阅读 · 1 评论 -
Java基础回顾之异常机制
在计算机程序运行的过程中,总是会出现各种各样的错误。有一些是由用户造成的,有一些则是由于代码编写问题。比如:有一些错误是用户造成的,比如,希望用户输入一个int类型的年龄,但是用户的输入是abc;程序想要读写某个文件的内容,但是用户已经把它删除了。当然还有一些错误是随机出现,并且永远不可能避免的。比如:网络突然断了,连接不到远程服务器;内存耗尽,程序崩溃了;用户点“打印”,但根本没有打印机;程序设计是很难以覆盖到所有的范围的,只能够尽量避免问题的出现,以及出现问题的时候,有友好的提示,可以复原创 2021-03-10 11:58:07 · 92 阅读 · 0 评论 -
Java基础小案例之编写动态插入sql语句,查询sql
给出一个数组或者集合,即字段,插入给定的表。如字段数组为: “name”, “position”, “salary”表为:employeepublic class Main { public static void main(String[] args) { String[] fields = { "name", "position", "salary" }; String table = "employee"; String insert =原创 2021-03-09 23:06:09 · 838 阅读 · 1 评论 -
java.exe和javaw.exe区别
jdk的java.exe和javaw.exe文件都可以运行由javac.exe编译出来的java文件,但是,这两个程序都是有区别的:1、java启动的程序是命令行程序或阻塞程序,如果该程序未执行完毕或未被关闭,则所打开的命令行将被阻塞,不能执行其它命令如dir等,可以通过Ctrl+C等方式关闭程序;2、javaw启动的程序是窗口程序或非阻塞程序,在使用该命令运行程序后,可接着在命令行中执行下一命令,且启动的程序与命令行无关不依赖命令行,不能通过Ctrl+C关闭。也可以这样解释:两者的根本区别:jav转载 2021-02-25 15:29:16 · 931 阅读 · 0 评论 -
Java注解解读-ElementType详解
文章目录注解须知前言@Target@Retention@Inherited@Documented@Repeatable注解须知前言Java注解使用是相当频繁,特别是在在框架源码使用,用到类的反射获取方法和属性,用的尤其多,而且即使是编写业务代码时候,也常有使用自定义注解来结合aop来实现减少代码的编写。接下来我们就来解读一下Java注解。Java中以前只有4个元注解,Java8后又新增了1个。在讲解元注解概念之前,我们先建立元数据的概念。 元数据在英语中对应单词 metadata, metada原创 2021-02-15 15:41:50 · 17397 阅读 · 2 评论 -
ArrayList实现链式添加封装
package cn.matech.projectmanage.domain;import java.util.ArrayList;import java.util.Collection;public class ArrayListChains<E> extends ArrayList<E> { public ArrayListChains(int initialCapacity) { super(initialCapacity); }原创 2021-01-30 17:01:14 · 649 阅读 · 0 评论 -
记录一个自己使用mybatis的踩的低级坑(实体构造方法传参顺序问题)
org.springframework.dao.DataIntegrityViolationException: Error attempting to get column 'areaName' from result set. Cause: java.sql.SQLDataException: Cannot determine value type from string '广东'; Cannot determine value type from string '广东'; nested excep原创 2021-01-27 18:40:37 · 4110 阅读 · 2 评论 -
使用mybatis-plus插件mgb使用junit逆向生成代码
没有太多说的具体看代码注释,使用junit:package com.guli.edu;import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.annotation.FieldFill;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.generator.AutoGenerato原创 2021-01-15 13:08:56 · 239 阅读 · 0 评论 -
关于使用Java BigDecimal保证精度以及整合spring boot查询添加账单小案例
文章目录前言1.Javabean对应数据库类型2.工具类2.1封装BigDecimal比较的工具类2.2封装计算的工具类(使用浮点数的方法)3.常见报错以及处理4.整合spring boot查询添加账单小案例前言近期做到项目是有关金额这一块,虽然只是记录,而且对要求精度不是那么高。不够平时基本没用过,所以还是尝试使用了BigDecimal。当然其实可以用double类型不够,然后使用工具类进行相对精确的计算。下面会放上一些工具类。关于Java详解的有相关的文章,我有一篇不错的已经转载下来地址可回看:原创 2021-01-07 14:04:02 · 942 阅读 · 0 评论 -
MySQL数据库优化策略小结
一、数据类型的优化(1)MySQL数据类型整数类型TinyInt,存储空间8, 字节长度1;SmallInt, 存储空间16, 字节长度2;MediumInt,存储空间24, 字节长度3;Int,存储空间32, 字节长度4;BigInt,存储空间64, 字节长度8;实数类型Float:字节长度8,单精度浮点数;Double:字节长度16,双精度浮点数;Decimal:未打包的浮点数,计算中会转化为Double;Decimal 相比于 Float 和 Double 需要额原创 2020-09-07 13:34:30 · 117 阅读 · 0 评论 -
Java实现多线程的三大方法
1.直接继承Thread类,重写run方法,子类.start方法2.实现runnable接口,重写run方法,将实现类传入new Thread方法中,再调用start方法启动两个方法代码如图:实际上Thread也实现runnable接口,new Thread(传入实现runnable类)实际上使用的是静态代理的设计。看看简略版源码即如下:public interface Runnable { public abstract void run();}public class Thr原创 2020-09-07 00:32:28 · 112 阅读 · 0 评论 -
收藏数据结构学习网站
https://visualgo.net/en 可视化学习网站https://algs4.cs.princeton.edu/home/ 算法官网https://www.zhihu.com/question/21628833 知乎贴转载自:吾名https://blog.csdn.net/qq_29985391/article/details/83117721转载 2020-09-04 11:20:49 · 110 阅读 · 0 评论 -
java并发艺术volatile关键字
volatile关键字代码demo:package com.it.test;import java.util.concurrent.TimeUnit;class MyData { int number=0; public void addT060(){ this.number=60; }}/** * 1.验证volatile的可见性 * 1.1假如int number=0;,number变量之前没有加volatile关键字修饰 */publ原创 2020-09-04 09:54:04 · 109 阅读 · 0 评论 -
Windows10环境下JDK全局环境变量配置
下载JDK并安装在ORACLE官网下载需要的jdk版本并安装。本教程采用默认安装目录C:\Program Files\Java,JDK版本为jdk1.8.0_152。需要什么版本就下载什么版本。打开环境变量对话框在控制面板\系统和安全\系统对话框左侧一栏中选择高级系统设置,在弹出的对话框中选择环境变量按钮。新建JAVA_HOME在系统变量中,选择新建,变量名为JAVA_HOME,变量值为JDK的安装目录下对应版本的jdk目录。此时为C:\Program Files\Java\jdk1.8.0_15原创 2020-08-31 14:10:59 · 3712 阅读 · 0 评论 -
自定义id的几种思路分享以及税务单据编号实现
前言先说一下id吧,ID(Identity document),即身份信息,无论是生活中还是软件设计中,id都是用于辨识身份的,id在数据库的设计中也往往是主键。那么为什么要自定义id呢?通常因为业务上常有以下需求:全局唯一性:不能出现重复的ID号,既然是唯一标识,这是最基本的要求。趋势递增:在MySQL InnoDB引擎中使用的是聚集索引,由于多数RDBMS使用B-tree的数据结构来存储索引数据,在主键的选择上面我们应该尽量使用有序的主键保证写入性能。单调递增:保证下一个ID一定大于上一个I原创 2020-08-27 20:20:26 · 1438 阅读 · 1 评论 -
java 实现获取当前时间的毫秒数的三种方法
import java.util.Calendar;import java.util.Date; /** * 获取当前时间的毫秒数方法 * @author calmtho * */public class TestLogBack{ public static void main(String[] args) { // 方法一 System.out.println(System.currentTimeMillis()); // 方原创 2020-08-27 17:51:59 · 2937 阅读 · 0 评论 -
JavaEE开发常用注解大全(注解开发大全)
文章目录1、最基础注解(spring-context包下的org.springframework.stereotype)1.1、@Controller @Service @Repository @Configuration @Component1.2、 @Bean2、最基础注解(spring-web包下的org.springframework.web.bind.annotation)2.1、@ResponseBody2.2、@RequestBody2.3、@RequestMapping2.4、@PostMa原创 2020-08-27 00:30:20 · 3037 阅读 · 1 评论 -
为什么做不好一个简单的Web项目?
相信很多人,无论是大神或者小白又或者是初入职场的人,都曾经有这种感受!总觉得我无法彻底做出来?那究竟是为什么造成这种现象呢?我就以后端开发的角度出发分析!!那接下来我们就进入分析吧!一.没信心,否定自己我想第一点就是没有信心!!为什么这么说呢?可以这么说绝大多数人的第一个项目都是模仿去做一个项目,在做的时候会遇到各种bug,可能是项目人疏忽或是有意而为之,总之绝大数人一定一定是做的很难受!历尽千辛万苦终于做完了,可是却感觉收获不大?从而开始否定自己!就觉得自己不行了。觉得自己没有自主开发的能力,觉原创 2020-08-23 18:32:26 · 250 阅读 · 0 评论 -
Java编程复习之java入门介绍,还有最后的数据类型重点介绍
复习内容Java语言的发展历史Java开发环境搭建编写HelloWorld程序常量和变量目标能够计算二进制和十进制数之间的互转能够使用常见的DOS命令理解Java语言的跨平台实现原理理解JDK和JRE的组成和作用能够编写HelloWorld程序编译并执行理解关键字的含义 理解标识符的含义能够定义出所有类型的常量理解Java中的基本数据类型分类能够定义8种基本数据集类型的变量 第一章 开发前言1.1 Java语言概述什么是Java语言Java语言是美国Sun公司(S原创 2020-08-06 17:35:13 · 168 阅读 · 1 评论