- 博客(33)
- 资源 (12)
- 收藏
- 关注
原创 代理 idea
继承,组合,第三种关系是代理,这是继承和组合之间的中庸之道java并没有提供对代理的直接支持,他的实现是组合加继承idea可以直接向get,set 一样生成该方法class SpaceShipDelegation { private SpaceShipcontrols spaceShipcontrols;}class SpaceShipcontrols { public ...
2018-02-26 21:32:04 606
原创 枚举类型
枚举类型最近在程序里用到了枚举类型处理异常的返回值,和异常code挺方便,推荐大家使用枚举类型enum Other {ONE,TWO,TREE_BOOK}由于枚举类型的实例是常量,因此按照命名惯例他们都用大写表示,如果在一个名字中有多个单词,用下划线将它们隔开。public class EurekaApplication { public static void main(Strin...
2018-02-25 17:12:52 521
原创 数组初始化 可变参数
数组的初始化写在开始的话”:重构即重写代码,以使得它更可读、更容易理解,并因此更具有维护性。软件最大的投入到了代码的维护上,所以磨刀不误砍柴工。 数组只是相同类型的、用一个标识符名称封装到一起的对象序列或基本类型数据序列。数组有三种初始化方式第一种Integer[] a = new Integer[20];它现在还只是一个引用数组,直到通过创建新的Integer对象,并把对象赋值给引用,初始化进程...
2018-02-25 16:16:57 1083
原创 idea tomcat 启动的几种方式
不管哪种方式都是调用tomcat的jar包1.通过main主函数 这种是最常见的设置一下方法启动第二种通过maven 配置tomcat 来启动 貌似现在只有tomcat7第三种 就是类似eclipse 种配置Tomcat的方式另外 修改项目的名称...
2018-02-25 14:10:46 25093 6
原创 MyBatis动态传入表名,字段名参数的解决办法,一种思路
有几种解决方法,我感觉这种最简单 <select id="getByReselleid" resultType="java.util.HashMap" parameterType="java.util.HashMap" > SELECT * FROM Info WHERE ${idname} =#{id}</select>${resellerid} $将传入...
2018-02-24 17:32:07 2302
原创 swagger2 API文档的框架 配置
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架。pom.xml 添加依赖<!-- Restful API接口说明 生成 ...
2018-02-20 20:51:29 1524 1
原创 Java开发规范(四)
(五) 集合处理 1.【强制】关于hashCode和equals的处理,遵循如下规则: 1) 只要重写equals,就必须重写hashCode。 2) 因为Set存储的是不重复的对象,依据hashCode和equals进行判断,所以Set存储的对象必须重写这两个方法。 3) 如果自定义对象作为Map的键,那么必须重写hashCode和equals。 说明:String重写了hashCode和equ...
2018-02-20 11:52:23 949
原创 利用jsr310解决数据库日期型,java时间戳转换问题
数据库日期型2014-07-10java时间戳转换问题14049216000001.在ssm框架中利用Spring Aop配置转换类2.在pojo里加入转换函数在springboot中有更好的方法1.pom添加<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-t...
2018-02-16 19:49:57 5745
原创 SQL 子查询 面试题
数据库中有一个表名为“Order”的表,结构和数据如下: 请你按照下面要求写出sql语句1.统计出每个地区的合同金额合计并按此倒序排列显示。SELECT region,a.COUNT FROM (SELECT region,SUM(total) AS COUNT FROM OrderTest GROUP BY region) a ORDER BY a.COUNT DESC;2.统计出每个地区销售人...
2018-02-16 19:13:13 2244
原创 单元测试工具类
类名 UnitTestsimport com.alibaba.fastjson.JSONObject;import org.springframework.test.web.servlet.MockMvc;import org.springframework.test.web.servlet.ResultActions;import org.springframework.test.web....
2018-02-27 19:01:53 1700
原创 错误异常:java.lang.Exception: Method executeTests should have no parameters
test的方法不能带参数 @Test public void executeTests(String urlname) throws Exception { ResultActions result = mockMvc.perform(MockMvcRequestBuilders.get(urlname)) .andExpect(MockMvcRe...
2018-02-27 15:20:11 8041
原创 this() 重构代码
原来处理异常的方法,重复代码比较多 //不需要传参数或者拼接的时候调用的构造方法 public AppcationException(IBusinessRuntimeException iBusinessRuntimeException){ this.iBusinessRuntimeException=iBusinessRuntimeException; this.strin...
2018-02-27 14:25:44 1182
原创 单元测试的迭代
再次重申 单元测试非常重要!!Assert是断言的工具类,不要只是 System.out.println(split[0]);单元测试一定要用Assert第一版:用split去解析json 当code为0时 正确。为1是错误int stat = 0;String[] split = contentAsString.split(",");for (int i = 0; i < split...
2018-02-26 18:51:29 1251
原创 Mybatis 结果映射 常用的情况
当多表联查的情况分析1.resultMap a:直接写 resultType="java.util.HashMap" 简单直接 一般推荐使用 <select id="findTownList" resultType="java.util.HashMap"> SELECT townid AS "TOWNID",townname FROM town WHERE id = #...
2018-02-26 16:26:34 1290
原创 idea package jar包
Jar的打包方式Pom.xm中<version>1.0.0-SNAPSHOT</version><packaging>jar</packaging>这里可以指定生成的jar(可以直接运行,一般不含前端网页) war(在tomcat下运行,含前端网页)第一种 默认打包时要进行单元测试,推荐大家写单元测试,一次麻烦,终身有效。现在很多公司越来越重视...
2018-02-25 13:52:30 3758
原创 成员初始化
成员初始化对于方法的局部变量,假如没有初始化(赋值)java编译错误对于类的数据成员(字段)的基本类型,java自动初始化public class EurekaApplication { int i; long j; double k; EurekaApplication m; public static void main(String[] args) { new...
2018-02-24 18:25:36 1319
原创 springBoot单元测试
需求:RESTful风格post 为创建 前端用json传数据过程如下:生成string不用 “”直接把json拷贝到 括号里自动添加\" 挺方便的private String json ="{\"xxx\":\"003\"}";@RunWith(SpringRunner.class)@SpringBootTest@AutoConfigureMockMvcpublic class Kapp...
2018-02-23 20:51:58 1226
原创 resultMap type类型 java.util.HashMap与pojo类的区别
MyBatis的返回参数类型分两种1. 对应的分类为:1.1.resultMap:1.2.resultType:2 .对应返回值类型:2.1.resultMap:结果集2.2.resultType:int,string ,long ,class 可以返回HashMap1.resultMap 类型为 java.util.HashMapxml<select id="findTownList" r...
2018-02-23 14:31:36 9360
原创 方法重载和this关键字(总结无程序,纯手打)
一、方法重载1.构造器器重载是一种特殊的方法重载构造器没有返回值,没有修饰符,并且名字和类名相同(别的方法首字母小写,小驼峰)系统默认创建无参构造器,如自己定义有参的,则系统就不创建了,理论上无参构造器应该有。2.方法重载可以是不同顺序(一般不推荐),不同个数的形参组合,返回值不同不是方法重载a.需要注意类型提升的问题,如常数值9当做int值处理,所以如果某个重载方法接受int型参数,她就会被调用...
2018-02-22 19:42:03 1270
原创 面试题:java垃圾回收的命令是什么及其执行过程
面试题:java垃圾回收的命令是什么及其执行过程首先:java内存是怎样分配的,对象是在5个地方存储数据1.寄存器 java不能操作寄存器,汇编语言可以直接操作寄存器,可以忽略器存在;2.堆栈 位于RAM(随机访问存储器)中,对象的引用存于堆栈中,其他语言例如c++,对象存于堆栈中3.堆位于RAM(随机访问存储器)中,对象存于堆中4.常量存储位于RAM(随机访问存储器)中,常量存放于此,例如:字符...
2018-02-22 18:18:03 2916
原创 Springboot 单元测试
很多朋友不是很重视单元测试,最近看了Alibaba的JAVA开发手册,认识到单元测试的重要性,与大家共勉。 简单来说就是在我们增加或者改动一些代码以后对所有逻辑的一个检测,尤其是在我们后期修改后(不论是增加新功能,修改bug),都可以做到重新测试的工作。以减少我们在发布的时候出现更过甚至是出现之前解决了的问题再次重现。1.生成Service层的测试类。选择方法名,右键单击-Go ...
2018-02-22 17:11:28 1769
转载 Java开发规范(六)
(三) SQL语句1. 【强制】不要使用count(列名)或count(常量)来替代count(*),count(*)是SQL92定义的标准统计行数的语法,跟数据库无关,跟NULL和非NULL无关。 说明:count(*)会统计值为NULL的行,而count(列名)不会统计此列为NULL值的行。2. 【强制】count(distinct col) 计算该列除NULL之外的不重复行数,注意 coun...
2018-02-20 18:35:15 1493
转载 Java开发规范(五)
三、单元测试 1. 【强制】好的单元测试必须遵守AIR原则。 说明:单元测试在线上运行时,感觉像空气(AIR)一样并不存在,但在测试质量的保障上,却是非常关键的。好的单元测试宏观上来说,具有自动化、独立性、可重复执行的特点。 l A:Automatic(自动化) l I:Independent(独立性)R:Repeatable (可重复) 2. 【强制】单元测试应该是全自动执行的,并且非交互式的。...
2018-02-20 18:33:51 1578 1
转载 Java 四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
1、new Thread的弊端new Thread(new Runnable() {@Override public void run() { // TODO Auto-generated method stub }}).start();a. 每次new Thread新建对象性能差。b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机...
2018-02-20 10:44:25 1141
原创 Java开发规范(三)
(四) OOP规约 1.【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 2.【强制】所有的覆写方法,必须加@Override注解。 反例:getObject()与get0bject()的问题。一个是字母的O,一个是数字的0,加@Override可以准确判断是否覆盖成功。另外,如果在抽象类中对方法签名进行修改,其实现类会马上编译报错。 3...
2018-02-19 21:32:29 1354
原创 Java开发规范(二)
13.(二) 常量定义 1. 【强制】不允许出现任何魔法值(即未经定义的常量)直接出现在代码中。 反例: String key= ”Id#taobao_” +tradeId; //本例中的”Id#taobao_”cache.put(key, value); 2. 【强制】long或者Long初始赋值时,必须使用大写的L,不能是小写的l,小写容易跟数字1混淆,造成误解。 说明:Long a = 2l...
2018-02-19 10:47:25 1145
原创 Java开发规范(一)
Java开发规范一、编程规约 (一) 命名规约 1.【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例: _name/__name/$name/name_/name$/name__原因:标识符的规范 组成元素 a.英文字符: a-zA-Z b.数字: 0-9 c.符号: _与$标识符规则 a.数字不能开 b.不可以使用关键字 c.严格区分大小写,不限制长度起...
2018-02-18 23:11:05 1248
原创 mybatis_plus 插件的配置
通过简单的配置就可以生成所需的实体类、mapper映射文件和接口在src/main/resources目录下新建mybatis-generator配置文件。<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBa...
2018-02-17 23:11:15 4417 1
原创 利用HashMap与ArrayList实现一个Key对多个值
得到的结果是普通的list集合,通过转换可以替换ResultMap来实现复杂映射List<User> list = userservice.findAll();HashMap<Object, List<User1>> map = new HashMap<>();for(int i=0;i<list.size();i++){ Lis...
2018-02-17 12:46:32 3818
原创 @Param @RequestParam @PathVariable 区别
1.@Param是Mybatis用的 主要是给参数命名,参数命名后就能根据名字得到参数值。假如输入的参数一致可以省略。import org.springframework.data.repository.query.Param;import java.util.List;@Mapperpublic interface kchanneltypeMapper {@Select("SELE...
2018-02-16 22:44:54 2888
原创 mapper的结果映射@Results
1.在主函数类上添加以上注解,可以扫描dao包中的所有接口,替代在每个dao中写@Mapper注解,不过这样会提高耦合度。@MapperScan("com..mapper")public class Application { public static void main(String[] args) { SpringApplication.run(DlxRrsApplicatio...
2018-02-16 21:26:12 7732 1
原创 spirng boot Mybatis 集成druid连接池
用spring boot开发应用程序确实简单了很多,有时候需要在运行过程中得到当前数据库连接池的情况。其实spring boot 也提供了很方便的方法,对于连接池,可以用spirng boot 默认的tomcat, 也有DBCP类型的1、集成druid,使用连接池。pom.xml中添加:<!--druid数据源--><dependency> <groupId...
2018-02-16 19:03:43 1297
原创 Springboot MyBatis查询表全部的两种方法:XML与注解
pom文件 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version></
2018-02-15 10:54:37 6513 1
容器部署解决方案Docker
2018-04-09
java编程规范(含心得笔记及其解释)
2018-04-09
velocity模板引擎
2018-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人