0%

此处使用的是oracle11.2的相关基础包,其他版本请自行选择;如需安装PLSQL,请自行Google

下载地址instant-clienthttps://www.oracle.com/database/technologies/instant-client/downloads.html

如果安装64位的PLSQL则选择64位的基础包instantclient-basic-windows.x64-11.2.0.4.0

  1. 下载后解压到相应文件夹(如: D:/app/instantclient)后在文件夹中创建NETWORK_ADMIN文件夹
  2. 打开安装的PLSQL后,选择Tools–>Preferences,配置OCI library(OCI库)即instantclient目录中oci.dll目录(如: D:/app/instantclient/oci.dll),保存后重启PLSQL生效
  3. 添加系统变量TNS_ADMIN,值为刚新建的NETWORK_ADMIN文件夹目录
  4. 在刚新建目录中新建文件tnsnames.ora,在此文件保存连接信息具体内容如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    数据库别名 = 
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP)(PORT = 端口号))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = 要连接的数据库名称)
    )
    )

PLSQL中中文显示乱码问题

在数据库中执行select userenv('language') from dual,查询出结果后。新增用户变量NLS_LANG,值为前面查询出来的结果

在使用SQLPlus命令行进行查询时,难免会觉得查询结果不尽人意,展示效果比较差,下面介绍部分内容,供参考

SQLPlus连接上oracle后的设置命令

1
2
3
4
5
6
7
8
9
10
11
12
set trimspool on;            #去除重定向(spool)输出每行的拖尾空格,缺省为off
set linesize 500; #输出一行字符个数,缺省为80
set pagesize 30; #输出每页行数,缺省为24,为了避免分页,可设定为0。
set newpage 3; #页和页之间隔着n个空行
set heading off; #输出域标题,缺省为on
set term off; #显示脚本中的命令的执行结果,缺省为on
set timing on; #设置显示“已用时间:XXXX”
set trimout on; #去除标准输出每行的拖尾空格,缺省为off
set echo off; #显示start启动的脚本中的每个sql命令,缺省为on
set feedback off; #回显本次sql命令处理的记录条数,缺省为on
set numwidth 12; #输出number类型域长度,缺省为10
set pause off; #关闭从终端读取输入

导出查询结果到文件

常用导出前命令set linesize 1000 pagesize 0 echo off termout off trimout on trimspool on feedback off pause off;

1
2
3
spool /root/oracle/sql/test.sql;   #查询结果保存的文件
@/root/oracle/sql/test1.sql #查询
spool off; ##把文件发送到标准打印输出

表空间

查询所有表空间

1
select name from v$tablespace;

创建表空间

1
create tablespace 表间名 datafile '数据文件名' size 表空间大小

删除表空间和数据文件等内容

1
drop tablespace 表间名 including contents and datafiles cascade constraint;

用户

创建用户并赋予默认的表空间

1
create user 用户名 identified by 密码 default tablespace 表空间表;

授权用户权限

1
grant connect,resource,dba to 用户名;

权限主要有三个、connect权限:是否允许连接。resource权限:数据增删改。dba权限:数据库管理

授权用户表权限

1
grant select, update, insert on 表名称 to 用户名;

授权用户存储过程权限

1
grant execute on 存储过程名称 to 用户名;

需要下载的依赖包oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpmoracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

安装过程

  1. 将下载好的依赖包至于同一文件夹下,执行安装命令rpm -ivh oracle-instantclient*.rpm
  2. 创建空文件vi /etc/ld.so.conf.d/oracle-instantclient.conf
  3. 如果 Instant Client 是此系统上安装的唯一 Oracle 软件,则更新运行时链接路径sudo sh -c "echo /usr/lib/oracle/11.2/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf"
  4. 在配置文件~/.bash_profile中添加export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH;同时可添加配置export PATH=/usr/lib/oracle/11.2/client64/bin:$PATH;
  5. 创建文件路径sudo mkdir -p /usr/lib/oracle/11.2/client64/lib/network/admin
  6. 添加oracle连接配置文件内容vi /usr/lib/oracle/11.2/client64/lib/network/admin/tnsnames.ora内容如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    WANG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.68.75.195)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = WANG)
    )
    )

其他相关变量

1
2
3
4
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin

其他内容

linux连接成功后如果出现中文乱码

1
export NLS_LANG=AMERICAN_AMERICA.UTF8

连接数据库

  • 无日志连接

    1
    2
    sqlplus /nolog
    conn name/password@192.68.75.195/WANG as SYSDBA
  • 直接连接

    1
    sqlplus user/password@//hostname:port/service_name
  • 通过tnsnames.ora连接

    1
    sqlplus seeing/seeing@WANG

下载

安装中文包

文件->首选项->扩展(快捷键快速定位Ctrl+Shift+X),然后输入Chinese Install.

文件中文乱码处理

文件->首选项->设置,然后搜素files.autoGuessEncoding为True

必备插件

  • vscode-icons 文件图标,根据文件图标快速的了解文件类型
  • Beautify 代码格式化工具
  • Code Runner 万能运行工具
  • Code Spell Checker 拼写检查程序

型号:PSG1218 版本号:22.6.518.161

参考链接

刷入Breed

下载软件包

  • 下载好软件包后,右键路由器刷breed_Web控制台助手v5.9版本.exe(这里以5.9版本的文件为例),选择管理员运行
  • 输入好对应的登录用户名、密码和IP,然后点击开始刷机
  • 直到下面黑色输出框,出现刷入成功的文字,然后提示语提示重启,按着路由器复位键开机等文字时说明成功刷入Breed
  • 重启路由后,输入192.168.1.1即可访问Breed界面

详细安装视频请前往下载观看

刷入PadaVan固件

  • 下载地址,选择http://opt.cn2qq.com/padavan/文件下载
  • 打开Breed,选择固件更新,右边固件的后面点击上传按钮,接着选择刚下载的文件
  • 上传成功后点击固件更新
  • 更新完成之后自动重启,再打开192.168.1.1就能看到熟悉的界面了

下载指令

git clone RemoteUrl

切换分支

git checkout -b dev origin/dev

切换本地分支到服务器端dev分支中,并且本地分支的名称也命名为dev

获取代码

git pull origin dev

本地获取远程dev分支中的代码

删除本地分支

git branch -d dev

修改最后一次提交的注释

git commit --amend

将本地分支推送到远程另外分支中

git push origin master:dev

master是本地分支,dev是远程分支

删除远程分支

git push origin --delete dev

删除本地分支

git branch --delete debug

回滚远程分支

git push -f

  1. 先将本地分支回滚到指定提交
  2. 将本地强制推送到远程分支

合并特定的commit到当前分支

git cherry-pick commit

迁移仓库

  1. 从原地址克隆一份裸版本库,比如原本托管于 GitHub。

git clone --bare git://github.com/username/project.git

  1. 然后到新的 Git 服务器上创建一个新项目,比如 GitCafe。

  2. 以镜像推送的方式上传代码到 GitCafe 服务器上。

cd project.git

git push --mirror git@gitcafe.com/username/newproject.git

修改远程分支地址

git remote set-url origin git://github.com/username/project.git

删除本地tag:git tag -d [tagName]

git tag -d v1.0.1

删除远程tag:git push origin :refs/tags/[tagName] 注意:“:” 前面要有空格

git push origin :refs/tags/v1.0.1

撤销add的文件

git checkout HEAD -- filePath

查看最后一次提交信息

  1. git reflog -1 | sed 's/^.*: //'
  2. git log -1 --pretty=%Bi

变更文件中中文名称显示问题

git config --global core.quotepath false

清楚本地缓存远程分支

git remote prune origin

本地文件忽略

vim .git/info/exclude

在该文件中添加需要忽略的内容

.gitignore常用忽略内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# IntelliJ
.idea/
*.iml
# Gradle
.gradle/
# Build
build/
out/
/bin/
# Eclipse
/.settings/
/.classpath
/.project
classes/
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db

默认情况下,Spring Security是禁用iframe内呈现的,即: X-Frame-Options: DENY

开启同一个域的使用,可以在head中添加如下代码: <frame-options policy="SAMEORIGIN" />

在后台java中配置,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@EnableWebSecurity
public class WbUserSecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http.headers().frameOptions().sameOrigin();
}

}

需要随意的使用,则可以使用语句http.headers().frameOptions().disable()来禁用该功能;

Mac下安装gradle

  • 直接使用命令行brew install gradle,完成安装;
  • 使用gradle -version,确认查看是否安装完成;
  • vim build.gradle,创建gradle文件,然后输入以下内容

    1
    2
    3
    4
    5
    task hello{
    doLast{
    println'hello world'
    }
    }
  • gradle -q hello,即可打印出文件中的hello world.

IDEA启用gradle

默认情况安装IntelliJ IDEA后是有gradle,如果没有则可能是安装之后又移除了,下面是我之前不用这个,然后移除了,现在需要使用这个,所以又从新安装的过程

  • 打开Preferences->Plugins,右边搜索框输入gradle,如果没有启用,点击后面的单选框,然后保存;如果没有搜索到gradle,使用Browse Repositories来进行搜索然后安装;
  • 安装之后重启IDEA,再次打开Preferences->Build,Execution,Deployment->Build Tools->Gradle,设置Gradle Home的值为/usr/local/Cellar/gradle/3.5/libexec

    可以通过brew info gradle,查看gradle的安装位置

强制刷新依赖内容

gradle clean build –refresh-dependencies

springboot 1.5.10.RELEASE

配置文件实现

  • 直接在application.properties中添加该行代码server.port: 8081
  • 或者在application.yml中添加
    1
    2
    service:
    port: 8081

代码实现

代码实现过程一

  1. 实现接口EmbeddedServletContainerCustomizer
  2. 实现方法customize
  3. 将方法customize内容更改,实现你想要的效果

代码展示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.wb.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;

@SpringBootApplication
public class DemoApplication implements EmbeddedServletContainerCustomizer {

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
/*
* 实现该方法来更改spring boot 启动的时候的端口号
* @see org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer#customize(org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer)
*/
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
//主要的语句,将启动端口更改为8081
container.setPort(8081);
}
}

代码实现二

If the above customization techniques are too limited, you can register the TomcatEmbeddedServletContainerFactory, JettyEmbeddedServletContainerFactory or UndertowEmbeddedServletContainerFactory bean yourself.

代码展示

1
2
3
4
5
6
7
8
@Bean
public EmbeddedServletContainerFactory servletContainer(){
TomcatEmbeddedServletContainerFactory factory=new TomcatEmbeddedServletContainerFactory();
factory.setPort(9000);
factory.setSessionTimeout(10, TimeUnit.MINUTES);
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND,"/notfound.html"));
return factory;
}