- 博客(27)
- 收藏
- 关注
原创 流氓手段实现Oracle save or update
var1是主键,dup_val_on_index指当insert时数值违反唯一约束下面是存储过程create or replace PROCEDURE SAVE_OR_UPDATE(var1 varchar2, var2 number, var3 number)ASBEGIN insert into table_name (column1,column2,column3) values (va...
2018-03-07 12:37:01
735
原创 如何检查某条记录是否存在在表中
需求:检查某条记录是否存在在表中看了很多人都是count,提供一个别的思路SELECT 1 FROM table_name where rownum = 1 and column = ? 取出第一条数据记得column加索引
2018-03-06 14:01:53
7899
原创 zuul和ratelimit一起使用 配置
最近要写网关 看了半天csdn博文,无非是复制粘贴关于导包啥的不多说了 其他文章里都有分享一下我的配置# 服务路由配置zuul: routes: test: #随便起了一个名字 path: /api/** url: http://localhost:8080/# 服务限流配置 ratelimit: enabled: true repo...
2018-03-06 13:19:11
6039
1
原创 java 从后台下载xlsx格式excel 发现不可读取内容的解决方案
这种问题是因为没加 Content-Length需求1:从服务端下载excel模板这个好办,找到服务端保存的模板,getResourceAsStream拿到输入流,设置Content-length注意输入流的大小是 public int available() throws IOException { return 0;}这个方法response.setHeader("Content-L...
2018-03-06 13:09:48
24031
11
原创 Java内部类小结
最近在工作之余学习Thinking in Java。 之前学习的时候对内部类学的一知半解,知道用到redis的时候才开始接触内部类。现将内部类的知识总结一下。内部类有点类似代码隐藏机制,将一个类放置于其他类的内部。比如:public class Aoo { class Boo{ private int i = 11; public int
2018-01-03 11:11:35
268
原创 Spring 4.x 配置类学习笔记
Spring 4.x更推荐java配置方式,而摒弃xml方式在java配置中 最核心的两个注解是@Configuration 和 @Bean@Configuration 作用在类上,相当于一个xml文件@Bean 作用在方法上,相当于xml中的bean@Configuration//一个xml@ComponenScan(basepackages="")//相当于
2017-10-07 22:39:51
344
原创 Springboot学习笔记(四)
Springboot Mybatis Mysql首先导包: org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.1 mysql mysql-connector-java然后在application配置文件中配置好DataSource的属性:spring: dataso
2017-10-03 23:46:41
242
原创 Springboot学习笔记(三)
在Springboot中使用freemarker的步骤:1.在pom中加入依赖: org.springframework.boot spring-boot-starter-freemarker2.默认的freemarker的模板文件在classpath:templates路径下,默认扩展名为ftl,可以在配置文件中更改其默认路径spring: freem
2017-10-03 14:55:06
310
原创 Springboot学习笔记(二)
application.properties为默认的属性文件,可以使用两种办法来获取里面的配置1.使用environment对象来获取context.getEnvironment().getProperty("local.ip")也可以通过自动注入的方式获取2.使用 @Value注入和配置文件中相同属性名的变量如@Value("${local.port}")priv
2017-10-03 12:51:01
211
原创 Springboot学习笔记(一)
Spring boot学习笔记(一)maven环境搭建首先需要搭建一个父model,所有的版本以父model版本为准 org.springframework.boot spring-boot-starter-parent 1.4.0.RELEASE如果不继承这个parent,需要使用dependencyManagement,这样不需要再继承
2017-10-02 17:33:41
280
原创 RESTful api接口开发与Spring MVC
RESTful是一种风格,不太想谈他的全称,并不是很好让人理解。通过RESTful风格,用户会使用同一个url发起请求:如 localhost:8080/rest/user然鹅...这个地址与我们之前写的 localhost:8080/rest/user/doFindUser?id=1234并不一样,也就是说我们无法直观的从REST风格url中了解到用户想要执行的操作。RESTful是
2017-10-01 09:36:31
975
原创 设计模式学习笔记之策略模式
策略模式:原理:如果现在有一个需求,模拟鸭子的项目-->出现了新的需求 -->用策略模式来解决需求从面向对象的角度来说,将共有的属性和行为抽象成一个超类,将特殊的属性和行为以抽象方法方式在子类实现。而当添加新的需求是,超类中会继续添加抽象属性,问题来了:不是所有的子类都需要这个属性,该怎么办呢?超类挖的一个坑,所有的子类都需要来填,增加了工作量。- 遇到问题要分析项目变化的和不
2017-09-28 10:11:59
241
原创 面试总结之谈谈你对面向对象的理解
对面向对象的理解在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象的编程是以对象为中心,以消息为驱动,所以程序=对象+消息。面向对象有三大特性,封装、继承和多态。封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代
2017-09-27 12:17:05
44590
1
原创 SSH学习总结
SSH = Spring + Struts2 + HibernateSpring容器用于管理对象之间的之间的耦合度,其核心是IoC和AOPStruts2使用了MVC模式,基于webwork的一个全新的框架使用Struts2需要配置org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter根据使用的Struts
2017-09-25 20:24:23
491
原创 一道关于对象传参的面试题
开始面试了,遇到一道题挺有意思的,跟小伙伴们分享一下:Giving the following code fragment, please select the correct description(s) of the generated output :public class C1 { public C2 m1; public C1(String s){ m1 = n
2017-09-22 20:18:27
303
原创 旅游项目(三)ssm实现文件上传下载实操
用户通过浏览器以multipart格式上传到服务器后,业务层代码:public boolean uploadObject(String title, MultipartFile mFile) throws IOException { //1.判断文件合法 if(StringUtils.isEmpty(title)) throw new InputInvalidException("标题
2017-09-19 10:17:30
1292
原创 旅游项目(二)初涉Bootstrap
1.bootstrap是什么?bootstrap,来自 Twitter,是目前最受欢迎的前端框架。bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。用它可以快速的搭建出网站,其中的栅格和css模块都非常出色。2.bootstrap的优点a.栅格系统:对用户调整屏幕尺寸,分辨率的支持表现良好。b.css模块化:方便编辑
2017-09-18 09:29:43
3058
原创 JAVA学习笔记-序列化
1.对象序列化和反序列化对象序列化是指将java对象转化为字节序列的过程,而反序列化是指将字节序列还原回java对象的过程。java对象的生命周期 -- 只有在JVM运行期间对象才会存在,而序列化过程是为了将对象持久化(保存到硬盘上)。序列化保存的是对象的状态,即成员变量,不关注静态变量。 2.实体对象为什么要实现序列化接口?Serializable是一个标识化接口,
2017-09-16 19:33:17
235
原创 旅游项目笔记(一)问题整理
1. 当DAO的方法中有多个参数时 使用@Param注解 或者 map2. 解决日期时间问题 import java.io.IOException;import java.sql.Date;import java.text.SimpleDateFormat;import com.fasterxml.jackson.core.JsonGenerator;imp
2017-09-16 14:38:09
1708
原创 达内云笔记(六) 文件上传下载
RequestMapping(value="" produces="content-type")ResponseBody 如果是java bean就处理为Json,如果是byte[] 就将byte数组填充到返回消息的body中ByteArrayOutputStream用内存数组为输出目标BufferedImage img = new BufferedImage(200,56,Buf
2017-09-16 09:56:39
833
原创 达内云笔记(五) Mybatis复杂SQL问题
1.自增类型MySQL SQLSever DB2等数据库提供了自增类型,Oracle中使用Sequence。MySQL中使用 auto_increment为ID创建自增ID,在Mybatis中 属性 useGeneratedKeys="true"用于支持自增类型,可以再插入数据以后可以读取自动增加的ID;keyProperty为自增字段属性对应的bean属性。2.动态SQL-
2017-09-13 16:26:55
638
原创 达内云笔记(四)Spring事务处理
事务:ACID特性原子性,一致性,隔离性和持久性为了保证一个业务操作的完整完成,避免其他业务过程的干扰编程式事务处理:conn = DBUtil.getConnection();try{ //开始事务 conn.setAutocomit(false); //业务操作过程 select..update..delete //提交事务 conn.commit;}catch
2017-09-13 14:57:47
358
原创 达内云笔记(三)模式初涉
模式:解决特定问题的固定编程套路,是无需思考的固定思路单例模式:解决“单例模式”的固定编程套路单例:在程序运行期间类只能有一个实例饿汉式(立即创建对象):package singleton;public class Demo { public static void main(String[] args) { Girl g = Girl.getGirl();
2017-09-13 14:54:17
627
原创 达内云笔记(二) AOP面向切面编程
AOP 面向切面编程,也称为横截面编程,其实类似于Filter和拦截器。Filter和拦截器也是横截面编程,即类似切了一刀,然后搞完一端再搞另一端。而Filter 和 拦截器 是用于处理Web请求的“横截面拦截”编程,在云笔记和项目中有登录,html,*.do,业务层和持久层。Filter和拦截器用于拦截html和*.do的切面。AOP用于业务层的编程。AOP的优点:在不改变原
2017-09-13 11:30:32
444
原创 达内云笔记(一)遇到的问题
一边听旅游项目,一边写云笔记。菜鸟出了几个问题一直折腾来折腾去,同样的坑不能再出第二次!1.在MyBatis使用Java Bean中的属性名作为MySQL字段名别 MySQL中的字段名命名格式与Java不同,所以在用Mybatis需要使用ResultMap来解决字段名与实体类中属性名不同的问题。发现刘苍松老师使用了别名简化了这个设置。顺便学习一下Mybatis的原理: Mybatis实
2017-09-13 10:17:57
2207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人