- 博客(30)
- 资源 (5)
- 收藏
- 关注
原创 校验邮箱格式表达式
@Email(regexp = "[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]", message = "邮箱格式不正确")
2022-04-26 19:05:55
1258
转载 【无标题】
前端传给后端的日期是字符串,但是介绍类型是Date类型出错:解决方法一:1.使对应Controller控制器继承 extends SimpleFormController 2.重写initBinder方法 protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder){ SimpleDateFormat dateFormat = new SimpleDateF
2022-04-21 14:52:29
252
原创 删除Mysql中一张表某个字段重复的数据
delete from 表名 where id in ( select * from ( select id from 表名 where 字段名 in ( # 查找字段值重复的信息 select 字段名 from 表名 group by 字段名 having count(1)>1 ) and id not in ( # 查找最小id记录 select min(id) from 表名 group by 字段名 having count(1)>1 ) .
2022-03-03 14:25:55
1060
原创 spring boot在启动加载配置文件后对配置文件的值进行修改
一、配置文件有值:eureka: client: serviceUrl: defaultZone: http://localhost:8080 metadata-map: user.name: ${spring.security.user.name} user.password: ${spring.security.user.password}spring: security: user: name: "root"
2021-06-29 15:12:26
4238
原创 oracle表回归
oracle回滚数据alter table tablename enable row movement;flashback table tablename to timestamp to_date('2016-08-09 16:05:48','yyyy-mm-dd hh24:mi:ss');
2020-12-08 09:48:50
206
原创 正则表达式匹配:邮件格式校验、小数点校验、文字数字校验
正则表达式:String NUM= "^[0-9]+$";String EMAIL = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";String NUM_2 = "^[+]?([0-9]+(.[0-9]{1,2})?)$";一、对输入的文本:inputString判断是不是数字:compile(NUM).matcher(inputString).find()二、对输入的文本:inputString判断是不是邮箱格式:
2020-12-07 15:02:43
524
原创 判断一个list<Object>是否和另一个list<Object>有交集
假设对象:static class Apple{ private String id; private String source; }现有:List<Apple> list_1,List<Apple> list_2现在要判断list_2里是否有id和list_1里的数据的id是一样的:Map<String, Apple> map = new HashMap(); for(Apple temp:
2020-12-02 13:59:15
334
原创 将带有“,”字符串分割成数组
String[] strings= StringUtils.cleanString(str.split(","));
2020-12-01 23:30:01
194
转载 Java反射原理与例子
一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。Apple apple = new Apple(); //直接初始化,「正射」apple.setPrice(4);反射则是一开始并不知道我要这时候,我们使用 JDK 提供的反射 API 进行反射调用:Class clz = Class.forName("com.reflect.Apple");Method method = clz.getMethod("setPri
2020-11-30 23:20:41
112
转载 socket编程
实例一:一个客户端和服务器端进行数据交互的简单例子,客户端输入正方形的边长,服务器端接收到后计算面积并返回给客户端,通过这个例子可以初步对Socket编程有个把握。服务器端 public class SocketServer { public static void main(String[] args) throws IOException { // 端口号 int port = 7000; // 在端口上创建一个服务器套接字
2020-11-29 15:32:36
200
原创 oracle的wm_concat()函数查询慢的优化
有这么一个场景:要将数据库表的一列数据全部整成一行,并用逗号隔开,我们可以使用wm_concat()函数来实现,但是有个问题,就是使用这个函数会很慢,所有就可以改为这种方式:rtrim((xmlagg(xmlparse(content t.字段名 ||',' wellformed) ORDER BY t.字段名).getclobval()), ',')...
2020-11-20 17:17:15
2989
4
原创 正则表达式
如果要控制输入的数字是整数或者两位小数的,可使用如下表达式:String source = "123.11";Pattern pattern = Pattern.compile("^[+]?([0-9]+(.[0-9]{2})?)$");if(pattern.matcher(source).matches()){ System.out.println("Yes"); }else { System.out.println("No");
2020-11-11 13:43:53
78
原创 将一个list<Object>里的某个属性抽取出来组成另一个list<String>
假如有这样的一个对象:public Class Object{private String apple;}现在有这样的一个list:List<Object> listObject;如要将Object里的apple元素抽出来组成一个list可以如下操作:listObject.stream.map(Object::getApple).collect(Collectors.toList())...
2020-11-10 16:40:14
3879
原创 修改oracle的clob类型的内容
假如oracle里表TEST有一个字段VALUE的值为clob类型的内容:"今天的天气真好"。现在要将其修改为:"明天的天气真好"可执行以下语句:update TEST set VALUE = replace(VALUE,'今天','明天') where 条件
2020-11-02 15:28:58
1840
原创 通过@conditionalproperty来控制一个类根据配置文件里的某个配置有没有来判断是否加载
情况:有一个类需要在yml文件有配置某个属性才能使用如果不配置就会报错,所有可以借助@conditionalproperty来帮助我们判断过滤这个错误:假如在application.yml有如下配置:spring.cloud.stream.rocketmq.binder.name-server=localhost:9876那可以在要使用这个配置的类上添加:@ConditionalOnProperty(prefix = "spring.cloud.stream.rocketmq.binde
2020-10-21 11:43:14
1021
原创 kettle数据同步的优化
在进行将oracle的数据同步到mysql的时候,由于数据量大导致使用kettle的全量同步比较慢,所以需要对这一过程进行优化。优化方案:1)从源头的表输入入手:通过设置表输入的多线程数据抽取,可提升数据的输入速度。 但是如果只是在kettle设置表输入的多线程数量的话,会导致数据重复。比如 select * from test ,起3个线程,就会查3遍,最后的数据就是3份。肯定不行,没达到优化的目的。因为source是oracle,利用oracle的特性: rownum 和函...
2020-10-15 19:47:39
3124
原创 java的类的对象传递给方法修改对象里的属性是相当于引用传递
public class test{ public static void main(String[] args) { Object a = new Object (); add(a); System.out.println(a.i); } public static void add(Object a) { a.i++; }}class Object { int i = 0;}最后的输出结.
2020-10-15 17:48:29
1013
原创 Linux修改文本文件命令
加入要修改的文本文件名为:runbroker.sh首先输入命令:cat runbroker.sh接着输入命令:vi runbroker.sh然后按住i和逗号(,)两个键进入编辑模式,修改文件内容,修改完之后按Esc键退出编辑页面最后修改完后按住shift键和冒号键,然后输入wq进行保存。...
2020-10-15 10:46:02
1356
1
原创 Linux对文本的操作命令
cat:从第一行开始显示文本内容(适用于内容较少的):查看root下的A.txt , 命令如下:cat /root/A.txt依次显示root下的A.txt ,B.txt.命令如下:cat /root/A.txt B.txt 另外,cat命令还可以创建新文件或将几个文件合并成一个文件。 比如:cat >1.txt , 便创建了一个1.txt的新文件 cat A.txt B.txt >2.txt ,把A.txt ,B.txt合并为2.txt ca
2020-10-14 16:52:46
378
原创 spring cloud stream + rocketmq实现收发消息
生产者端配置:application.yml配置:spring: cloud: stream: bindings: canal-output: destination: #相当于topic content-type: application/json rocketmq: binder: name-server: bindings:
2020-10-14 16:24:38
1058
原创 spring boot+mybatis+mysql+oracle的多数据源配置(一)
有时候如果我们想要在一个spring boot工程里配置多个数据源的话可以这样配:pom.xml文件(可根据需要进行增删):application.yml文件配置:
2020-10-14 09:48:05
483
原创 分批将list里的数据保存到数据库的写法
//为了防止SQL语句超出长度出错,分成几次插入if (list.size() <= 2000) { Service.insert(list);} else { int times = (int) Math.ceil(list.size() / 2000.0); for (int i = 0; i < times; i++) { System.out.println("分批插入:" + i); Service.insert(list..
2020-10-12 13:50:54
945
原创 重写两个类的equal和hashCode方法判断这个类的两个对象是否一致
//比如对象有两个属性:id(String类型)和effDate(Date类型),类的名字叫TreeNode@Override public boolean equals(Object object){ if (object == null){ return false; } if (this == object){ return true; } TreeNode t
2020-10-12 13:47:34
414
原创 将一个很大的List<Object>分成很多小份的List<Object>
//将list分成很多长度为500的子数组保存到listList里List<List<Object>> listList = Lists.partition(list,500);
2020-10-12 10:56:03
763
原创 对List<Object>里不符合条件的对象删除掉
//过滤掉城市名为空的数据List<Object> list2= list. stream(). filter(object-> (object.getCityName()!= null && !object.getCityName().equals(" ")) &&(object.getProvinceId() == null||obje.
2020-10-12 10:51:20
915
原创 mybatis批量insert到oracle的写法
insert into table(attribute1,attribute2)<foreach close=")" collection="list" item="item" index="index" open="(" separator ="UNION">SELECT#{value},#{item.value}FROM dual</foreach>
2020-10-12 10:18:08
229
原创 将一个字符串里的各个数字分割成数组
例如:"1,2,2,3,4"将分割成:[1,2,2,3,4]代码:String string ="1,2,2,3,4";String[] result = string.split(",");
2020-10-12 10:10:58
2231
原创 根据一个List<Object>里的某个对象的某属性对list进行排序
//降序排序Collections.sort(list, new Comparator<Object>() { @Override public int compare(Objecto1, Objecto2) { long t1 = o1.getUpdateDate().getTime(); long t2 = o2.getUpdateDate().getTime(); if (t1 > t2){ .
2020-10-12 10:06:58
765
原创 mybatis+springBoot批量update的sql写法
mapper:int updateAddress(@Param("list") List<Address> list);xml:<update id="updateAddress2"> update org_address t <trim prefix="set" suffixOverrides=","> <trim prefix="t.province_id = case" suffix="end,">
2020-09-27 19:53:22
1959
城市交通图源码
2017-12-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人