- 博客(26)
- 收藏
- 关注
原创 项目中的dao层抽取为公共jar(mapper.java+mapper.xml+DO公共抽取 maven+springboot)
1.做成jar的 dao层新建一个maven项目,新建 java和resources目录,在java目录中新建实体类 DO,mapper.java;在resources目录中新建mapper.xml这个common项目都不需要配置Application和数据源DataSource(直接在使用项目中配置该 mapper对应的DataSource就行)2.使用方:在pom.x...
2020-04-25 11:10:22
1210
转载 Java多线程中sleep()和wait()的区别
JAVA 线程状态及转化线程状态图说明:线程共包括以下5种状态。1. 新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。2. 就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的...
2018-02-10 08:59:41
448
原创 2.知识点#contenttype 为application/x-www-form-urlencoded 和 application/json 区别和说明
说明:这两个都是发送请求的格式说明1.application/x-www-form-urlencoded在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。 下边是说明: application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。 multipart...
2017-04-14 16:54:07
3644
转载 2.知识点#mysql 连接url中useUnicode=true&characterEncoding=UTF-8 的作用
我们在连接MySQL数据库的时候一般都会在url后面添加useUnicode=true&characterEncoding=UTF-8 ,但是问什么要添加呢?添加的作用是:指定字符的编码、解码格式。 例如:mysql数据库用的是gbk编码,而项目数据库用的是utf-8编码。这时候如果添加了useUnicode=true&characterEnc...
2017-04-13 13:08:06
588
转载 2.1.知识点_数据库#oracle group by 和mysql group by 区别
在mysql中,要查出一个表的C_NAME不重复的记录的所有字段,使用distinct肯定不行了(会distinct所有字段),这时可以使用group by C_NAME,例如:select c_id,c_name,c_address from t_user group by c_name;执行这个语句没有问题。但是,在oracle中,就会出现“ORA-00979 不是group by表达式”...
2017-04-13 13:07:18
2643
原创 10.2框架知识_mybatis#mybatis中插入数据自动返回自增长id的配置
mybatis中在相应的mapper.xml的insert方法中加入配置参数,就能够在插入语句的时候自动返回自增长的id,如下代码段为后端执行的代码int count = jzAskingAnswerMapper.insertreturnid(answer);if(count>0){ return new Result(ResultCode.C200.getCod...
2017-04-13 13:01:38
2055
原创 2.1.知识点_数据库#left join on 和where条件的放置 区别
1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录(注:不管在这个地方加入什么条件都会返回 主表中查询条数的数据,只是当)。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。 假设有两张表:表1:tab2 id ...
2017-04-07 14:57:20
604
转载 Uncaught TypeError: XXX is not a function解决
后台没有错误,前端一直显示 Uncaught TypeError: withdraw is not a function 错误,代码如下:div class="form-group btn-right"> "button" class="btn btn-primary" id="withdraw" onclick="withdraw();">提现div>123123出现这样的错误是因
2017-04-07 09:34:31
1332
转载 $.ajax中contentType: “application/json” 的用法
不使用contentType: “application/json”则data可以是对象$.ajax({url: actionurl,type: "POST",datType: "JSON",data: { id: nodeId },async: false,success: function () {}});使用contentType: “application/json”
2017-04-07 09:33:37
942
转载 Runnable接口 和 同步代码块synchronized
[java] view plaincopy/* 需求: 实现一个售票程序 创建线程的第二种方式:实现Runnable接口 步骤: 1,定义类实现Runnable接口 2,覆盖Runnable接口中的run方法 将线程要运行的代码存放在该run方法中
2017-04-01 16:49:42
476
转载 java4种线程池的使用
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。
2017-04-01 11:11:20
315
转载 ThreadPoolExecutor线程池
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这样的效果。今天我...
2017-04-01 11:05:22
334
转载 活动秒杀解决并发问题
一、秒杀带来了什么? 秒杀或抢购活动一般会经过【预约】【抢订单】【支付】这3个大环节,而其中【抢订单】这个环节是最考验业务提供方的抗压能力的。抢订单环节一般会带来2个问题: 1、高并发 比较火热的秒杀在线人数都是10w起的,如此之高的在线人数对于网站架构从前到后都是一种考验。 2、超卖 任何商品都会有数量上限,如何避免成功下订单买到商品的人数不超过商品
2017-03-30 15:52:31
1011
转载 1.基础知识#JavaScript之数据类型
数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。 typeof操作符 介于JavaScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型——typeof就是负责提供者方面信息的操作符。对...
2017-03-30 10:45:42
369
原创 2.知识点#SpringMVC @RequestBody接收Json对象字符串
以前,一直以为在SpringMVC环境中,@RequestBody接收的是一个Json对象,一直在调试代码都没有成功,后来发现,其实 @RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。然而在ajax请求往往传的都是Json对象,后来发现用 JSON.stringify(data)的方式就能将对象变成字符串。同时ajax请求的时候也要指定dataType: "json...
2017-03-27 18:35:06
326
原创 2.知识点#页面数据组装成json格式传到后台保存
页面保存按钮: //保存 或提交function saveDetail(buttonType) { //获取页面的基本信息 var atalasDraft = $("#validation-form").serializeObject(); var valided = true; //alert(JSON.stringify(atalasDraft))...
2017-03-27 17:51:07
2142
转载 2.知识点_lock#Lock和synchronized比较详解
今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有在这里转载了这篇文章,注意红色字体。 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从J...
2017-03-27 16:08:31
281
转载 15.设计模式#Java开发中的23种设计模式详解
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化...
2017-03-24 10:30:22
783
转载 JQuery 操作表格和JqGrid了解
登录 | 注册mike_caoyong的专栏目录视图摘要视图订阅CSDN日报20170322——《关于软件研发的一些体会总结》 同步博客至 CSDN ,让更多开发者看到你的文章 看微博技术大咖解析互联网应用架构实战JQuery 操作表格和JqG
2017-03-23 20:17:17
1751
转载 10.2框架知识_mybatis#mybatis中foreach使用方法
foreach一共有三种类型,分别为List,[](array),Map三种。foreach属性属性 描述 item 循环体中的具体对象。支持属性的点路径访问,如item.age,item.info.details。 具体说明:在list和数组中是其中的对象,在map中是value。 该参数为必选。 collection 要做foreach的对象,作为入参时,Li...
2017-03-22 16:26:47
567
转载 2.知识点_volatile#JAVA多线程之volatile 与 synchronized 的比较
一,volatile关键字的可见性要想理解volatile关键字,得先了解下JAVA的内存模型,Java内存模型的抽象示意图如下:从图中可以看出:①每个线程都有一个自己的本地内存空间--线程栈空间???线程执行时,先把变量从主内存读取到线程自己的本地内存空间,然后再对该变量进行操作②对该变量操作完后,在某个时间再把变量刷新回主内存关于JAVA内存模型,更详细的可参考:深入理解...
2017-03-17 11:04:32
293
原创 2.知识点_volitile#Java中的关键字volitile
我们知道,在 Java 中设置变量值的操作,除了 long 和 double 类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在 JVM 1.2 之前, Java 的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着 JVM 的成熟和优化,现在在多线程环境下volatile 关键字的使用变得非常重要。在当前的 Java 内存模型下,线程可以把变量保存...
2017-03-17 10:58:28
769
转载 2.知识点#乐观锁与悲观锁——解决并发问题
引言为什么需要锁(并发控制)? 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看...
2017-03-16 10:09:29
342
原创 10.2框架知识_mybatis#Spring + Mybatis 使用 PageHelper 插件分页
先增加maven依赖:[html] view plain copy print?<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version&...
2017-03-14 10:21:52
433
转载 1.基础知识#js最新手机号码、电话号码正则表达式
原文链接:http://caibaojian.com/regexp-example.html手机号码正则表达式验证。function checkPhone(){ var phone = document.getElementById('phone').value; if(!(/^1[34578]\d{9}$/.test(phone))){ alert(...
2017-02-23 15:58:59
336
转载 1.基础知识#巧用JSON.stringify()生成漂亮格式的JSON字符串
巧用JSON.stringify()生成漂亮格式的JSON字符串使用JavaScript处理XML基本上就是一个杯具,这也是JSON在程序开发中广受欢迎的原因。我曾经写过一个 JavaScript函数来将XML转换为JSON,那种~duang~duang~的痛点简直是折腾得你欲死欲仙。如果要将现有的对象转换为JSON字符串, 则可以使用 JSON.stringify(obj)函数, 可能你已经...
2017-02-17 09:20:34
452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人