有时碰到网页控制台报错第一行<!DOCTYPE html>,通常是js文件的错误,比如过滤器给过滤了地址 |
Mysql SUM,AVG后结果是decimal,count后是long,而不是int |
int[][] arr = new int[3][],声明的是三个null的一维数组对象;new int[2][2]声明的是有初始值0的二维数组对象 |
数组思想:数据多->分类--数组=>数组多---分类 二维数组 |
java学习的过程就是在学习如何不断维护面向对象之间的关系 |
面向对象三要素:封装/继承/多态;多态实现的三个条件:继承、重写、向上转型 |
String 不是关键字 java中的关键字都是小写的 |
Java中基本数据类型8种,引用数据类型3种:类/数组/接口;引用数据类型和引用传递没有关系 |
规范:所有的异常都要在servlet里面捕获,记录日志; Java异常处理原则之一:延迟捕获:当异常发生时,不应立即捕获,而是应该考虑当前作用域是否有有能力处理这一异常的能力,如果没有,则应将该异常继续向上抛出,交由更上层的作用域来处理。 |
删除要有提示是否删除 |
二进制表单:enctype="multipart/form-data" |
重写finalized方法,将在对象销毁时(被GC回收的时候)调用 |
泛型规范:T type;E Element;K key;V value |
Spring xml头文件约束报错:1.general-network-cache remov all;2.项目右键validate |
利用<base>标签 |
hibeinate使用工具生成entity的时候,数据库对外键加上unique可以生成一对一关系,否则是多对一 |
当使用hibernate进行多对多关系的维护时,如果使用级联,那么hibernate会首先删除所有对应关系,然后进行插入关系.同时要慎用级联删除,因为会删掉实体表;多对多会默认维护中间表的关系. |
spring5已经删除了Log4jConfigListener包 |
拦截器配置中<mvc:exclude-mapping path="/user/regist2.luhao" />;此处要加全名(user),前面要加"/" |
持久层方法的参数可以是包装类型,hashMap等,但是service层中的方法参数建议不要使用包装类型(不利于业务层的可扩展) |
control+shift+t找类 |
要用到共同数据(包括锁)的不同方法应当归到同一个类上 |
访问局部变量要加final____???? |
小技巧:输出控制台指令到文件 run configuration common output.. |
静态方法中不能new内部类的实例对象 |
内部静态类的特点和外部类差不多 |
要用到共同数据(包括锁)的不同方法应当归到同一个类上 |
查看别人的代码的小技巧:在浏览器[检查],找到资源,在java中ctrl+H查找外部资源,ctrl+F查找方法,ctrl+T查看实现类 |
自定义实体集合排序的两种方法: 1.实体实现Compareable接口,实现compareTo方法,然后通过Collection.sort(xxx);来排序 2.写一个比较器实现CompareTor接口,实现compare方法,然后通过xxx.sort();来排序 |
集合的交集:list1.retainAll(list2); 集合的并集:list1.addAll(list2);//最好用Set 集合的差集:list1.removeAll(list2); |
super不能调用父类的私有方法,其他包的子类可以用于调用protected方法 |
protected其他包不可以访问,但是其他包的子类可以使用super来访问 |
默认的访问修饰符:其他包不可以访问,其他包的子类也不可以访问 |
Java中事件委托机制和观察者模式 https://blog.csdn.net/howroad/article/details/80202035 |
跳出多层循环的方法有,break,return,system.exit,抛异常等等 |
java中垃圾回收机制的算法,参考:http://www.importnew.com/26821.html |
实现对象序列化的Demo |
|
Mysql中使用not in 当子查询结果是null的时候,结果始终为null,因为null和任何运算都是false |
原来的:select t_power.* from t_power where power_id not in(select power_id from t_role_power where t_role_power.role_id='402881896364623b01636478e4730000') |
更改后:select t_power.* from t_power where power_id not in(select power_id from t_role_power where t_role_power.role_id='402881896364623b01636478e4730000' and power_id is not null) |
父类的静态代码块 子类的静态代码块 父类的非静态代码块 父类的无参构造器 子类的非静态代码块 子类的有参构造器 |
hibernate in 用法 where org_code in (:list) ;query.setParameterList("list", list) |
spring boot读取properties文件乱码问题,貌似是eclipse默认设置的问题,解决办法:luhaoName.getBytes("iso8859-1"),"UTF-8") |
thymeleaf模板引擎只支持html不支持jsp! |
springBoot对thymeleaf的支持比jstl要好,建议用thymeleaf |
oracle复制表结构 create table um_aims_nsclient as select * from nsclient where 1=2; |
网络 |
Description Resource Path Location Type Archive for required library: Maven下载的时候网络波动引起的出错,找到该目录删掉重新install或ctrl + f5 |
html表格边框是cellspacing和cellpadding不是colspan和sellSpan |
$obj.click();不如原生的js click好用。 |
标签点击事件调用多个函数这样写:οnclick='fun1();fun2()' |
jdbc中prepredStatement是从1开始的 例如:setString(1,string) rs.getString(1) |
oracle常用表: select r1, r2, r3, r5 |
union后再排序:ORDER BY 3 ASC ;3代表第三列 |
使用statement修改数据库 //1.获得连接 conn = getConnection(); //2.用Connection中的 createStatement()方法获取 Statement 对象 statement = conn.createStatement(); //3.调用 Statement 对象的 executeUpdate()方法,执行SQL语句并修改数据库 statement.executeUpdate( sqlStatement ); |
jQuery 同胞元素 sblings 字符串转数据 parseInt |
DDL语句没有事务性(create drop...) |
两表关联更新的几种方式 1.内联视图更新
2. |
ORCLAE中如何取模where mod(x,y) = 1 |
HTML元素加粗(已过时的方法) <b></b>或<strong></strong> 现在用font-weight |
ibatis中where里面加循环 如果传入的参数是list或者collection或者array,那么在iterate中不需要写property |
oracle查询条件用空格隔开的匹配,多个查询条件的匹配 select col from table t where REGEXP_LIKE(t.col,'条件1|条件2') |
删除主键约束 |
sqlPlus报错 :SP2-0341: 在变量替代时行溢出 (>3000 个字符位于行 1) 命令行模式,自动化测试时,执行脚本,insert语句过长,其中insert语句3700字,某个字段的值也超过了3100字,尚不清楚是哪一个错误。 |
父页面弹出子页面后,想要执行子页面的方法,由于公司使用什么懒加载,onload和load,ready等都不能使用 |
jquery获取其他页面的元素,$("sele",document) |
IE8不支持数组的IndexOf,用jquery的,例如$.inArray(fixedId,idArr) >= 0 |
eclipse控制台编码,去runConfig设置Common里面 |
创建从10000开始的序列,要改动两个地方,例如
DECLARE |
ORACLE中null和‘’是一样的 |
1. base64 的解密函数 2. base64 的加密函数 |
DECODE(T.HTML_SPAN,NULL,NULL,UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.BASE64_ENCODE(UTL_RAW.CAST_TO_RAW(T.HTML_SPAN)))) AS "htmlSpan", DECODE(#htmlSpan#,NULL,NULL,UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.BASE64_DECODE(UTL_RAW.CAST_TO_RAW(#htmlSpan#)))), |
java中亦或^可以做逻辑运算也可以做位运算,没有^^, |
使用Set去重和查重,set.add()判断返回的true或者false,hashSet其实就是一个hashMap |
正则Match 使用 if(match.find()) 和使用while的区别
|
数据库只能使用rownum = 1 或者 rownum < 2 不能 rownum = 2 |