1.安装Python到本机(打开cmd输入python检测是否安装正常) 2.安装idea的python插件(如手动下载插件请注意查看版本) 3.新建项目或module(此处以新建module为例) 4.选择python,点击下一步 5.填写项目名,finish 注:易出现问题的地方就是手动安装插件时版本不一致导致idea集成失败
搭建idea下的vue工程
1.在本机安装nodejs和npm
2.打开idea新建module选择static web:demo
Idea手动安装插件
1.访问:http://plugins.jetbrains.com 2.搜索要下载的插件名称 3.点击下载按钮 注意版本号,可在idea的glugins中搜索查看版本号 4.下载成功后解压 5.点击开始找到idea右键属性点击打开文件位置 6.切换到plugins下 7.将解压的文件夹粘贴进去 8.重启idea搜索插件查看是否添加成功!
Dorado中间件DataGrid控件添加计算列
Dorado说明: Dorado是锐道公司开发的一个中间件 使前后端完美对接,大大提高了开发速度 与原生安卓的使用方式比较类似,都是通过拉控件设置属性进行页面开发
假设以下是需要展示的表格: 姓名 数学 语文 张三 98 97 李四 88 87 王五 89 90 例如你需要显示数据额成绩和语文成绩的平均分 1.双击DataGrid设置showFooter的值为true 2.双击姓名列,打开onRenderFooterCell 3.在该事件中写入: arg.dom.innerText="平均分" 设置之后姓名列对应的显示为“平均分” 4.分别设置需要计算的两列的summaryType的值为average 5.该字段还有一些其他值,例如sum等 设置后可分别对这些列进行相应的计算 6.设置后的计算列位于DataGrid的最下方,一般位于屏幕最下方 (第一次搞的时候以为设置错了,一直以为这一列会追加在显示数据的后面!) 7.结果样例: 姓名 数学 语文 张三 88 97 李四 88 97 王五 88 97 平均分 88 97
Oracle数据库Date格式化及Select时Case的使用
--Date格式化片段 to_char(create_date,'YYYYMMDD') as date --格式化系统当前日期 select to_char(sysdate,'YYYYMMDD') from dual; --Select时Case片段 select case when item_a like 'A%' and item_b = 'b' then 'one' when item_a like 'A%' and item_b = 'B' then 'two' else 'other' end as type from table_name
自定义Java注解
注解的作用: 1.生成文档 这是最常见的,也是java 最早提供的注解。常用的有 @see @param @return 等 2.跟踪代码依赖性,实现替代配置文件功能 Spring中大量运用注解来简化配置文件 3.在编译时进行格式检查 如@override 放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出 实现一个简单的注解:
@Retention(RetentionPolicy.RUNTIME) public @interface MyTarget { }
上面是一个最简单的注解实现,没有定义任何的属性 需要注意的是@Retention(RetentionPolicy.RUNTIME)是定义注解所必须的。 @Retention是注解的注解,称为注解的元注解。 括号里有一个枚举类型的值,即为注解内部定义的值。打开Retention的实现:
@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Retention { RetentionPolicy value(); }
可以看到这里定义了一个变量value并且没有缺省值,所以不写这个value就会报错。 继续打开RetentionPolicy:
public enum RetentionPolicy { SOURCE, CLASS, RUNTIME }
可以发现这个枚举类定义了三个值,这三个值分别代表的是我们定义的MyTarget如何保持。 @Retention(RetentionPolicy.CLASS) 注解的信息被保留在class文件(字节码文件)中当程序编译时,但不会被虚拟机读取在运行的时候 @Retention(RetentionPolicy.SOURCE) 注解的信息会被编译器抛弃,不会留在class文件中,注解的信息只会留在源文件中 @Retention(RetentionPolicy.RUNTIME) 注解的信息被保留在class文件(字节码文件)中当程序编译时,会被虚拟机保留在运行时 还需要注意的是java的元注解一共有四个: @Document @Target @Retention @Inherited 各个的作用,读者自己查一下吧。 注解处理的一个基础:T getAnnotation(Class annotationClass): 返回改程序元素上存在的、指定类型的注解,如果该类型注解不存在,则返回null。 Annotation[] getAnnotations(): 返回该程序元素上存在的所有注解。 boolean is AnnotationPresent(Class annotationClass): 判断该程序元素上是否包含指定类型的注解,存在则返回true,否则返回false. Annotation[] getDeclaredAnnotations(): 返回直接存在于此元素上的所有注释。 与此接口中的其他方法不同,该方法将忽略继承的注释。 (如果没有注释直接存在于此元素上,则返回长度为零的一个数组。) 该方法的调用者可以随意修改返回的数组;这不会对其他调用者返回的数组产生任何影响。 实现为属性赋值的注解:
package com.justin.test.util; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface CarNameTarget { String name() default ""; }
package com.justin.test.util; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface CarSalerTarget { String salerName(); int age() default 1; }
package com.justin.test.entity; import com.justin.test.util.CarNameTarget; import com.justin.test.util.CarSalerTarget; /** * 描述: * 汽车实体类 * * @author 孫兵 * @create 2018-05-15 10:16 */ public class BnechCar { @CarNameTarget(name = "奔驰") private String name; @CarSalerTarget(salerName = "justin", age = 22) private String salerInfo; }
package com.justin.test.util; import java.lang.reflect.Field; /** * 描述: * 汽车信息工具类 * * @author 孫兵 * @create 2018-05-15 10:19 */ public class CarInfoUtil { public static void getFruitInfo(Class<?> clazz) { Field[] fields = clazz.getDeclaredFields(); for (Field field : fields) { if (field.isAnnotationPresent(CarNameTarget.class)) { CarNameTarget carNameTarget = field.getAnnotation(CarNameTarget.class); String carColour = "汽车的中文名:" + carNameTarget.name(); System.out.println(carColour); } else if (field.isAnnotationPresent(CarSalerTarget.class)) { CarSalerTarget carSalerTarget = field.getAnnotation(CarSalerTarget.class); String salerInfo = "销售员姓名:" + carSalerTarget.salerName() + ",年龄:" + carSalerTarget.age(); System.out.println(salerInfo); } } } }
/** * 自定义注解测试 */ private void targetTest() { CarInfoUtil.getFruitInfo(BnechCar.class); }
打印信息:
汽车的中文名:奔驰 销售员姓名:justin,年龄:22
修改CSS样式或JS之后F12发现资源没有改变
原因:浏览器已缓存过文件,之后浏览器只获取本地文件,不再远程下载 解决办法: 1.修改浏览器缓存设置 2.不知道怎么设置就手动清楚浏览器缓存 3.如清除浏览器缓存无效,则为引用添加版本号 例如: <link rel="stylesheet" type="text/css" href="CSS/main.css?v2"> 注意: 1.问号后可随意编写,但不要重复 2.使用Idea热部署更新会出现错误
4.执行Ctrl+F5重新从服务器端获取资源(作者认为是最简便的方式)
Maven与lib文件夹并存引入异常的问题
1.此处使用开发环境为eclipse 2.项目为maven与lib并存项目(即引用jar包来自两个部分) 3.右键项目选中build path选中configure build path 可以看到maven引入资源中有引入失败的包 解决办法: 1.首选执行maven install,确保maven部分引入的包没有问题 2.确保引入异常的包存在于lib文件夹下 3.选中windows下的Preferences 4.选中maven选中Offline将在线状态改为本地状态点击OK 5.右键项目选中maven选中Update Project 6.此时界面内的Offline应已被选中 7.选中Force Update of Snapshots/Releases点击OK 8.项目更新后重新build path查看,包引入正常了
NavicatPremium创建Oracle连接失败
创建连接失败,原因: 1.IP错误 2.Port错误 3.服务名或服务ID错误 4.用户名或密码错误 那么能够到去网上搜的情况一般都不会是前四种 5.本地没有安装Oracle客户端 这种情况就导致: Navicat获取到的连接支持只是它自己的默认支持 无法与远程Oracle匹配 解决办法: 1.去官方下载客户端(优点:可操作本地Oracle数据库) 2.下载精简版客户端(优点:安装部署方便) Instant Client 是Oracle 公司推出的精简版客户端。 32位下载地址: http://www.oracle.com/technetwork/topics/winsoft-085727.html 注意: 不管你的Navicat是32位的还是64位的, 你的Instant Client都要下载32位的, 因为Navicat只支持32位的客户端。 2.1解压下载的压缩包 2.2获取压缩包内的oci.dll路径,例如F:/instantclient_12_1/oci.dll 2.3打开Navicat选中工具,选中OCI,将oci.dll路径输入到OCI library 2.4重启Navicat重新尝试连接