自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 #{}和${}的区别,#{}防止sql注入

一、当我向mybatis输入一条带有#{}的语句时: select * from user where uid=#{id} and password=#{pwd}; 这时数据库就会进行预编译,并进行一个缓存动作,缓存一条这样的语句: select * from user where uid=? and password=?; 当我们调用这条语句,并实际向#{id}中的id传了一个值 “uuu” or 1=1# 时,不需要在编译,数据库会直接找对应的表中有没有名字是 “uuu” or 1=1# 的用户,而不再

2021-01-14 17:43:50 723

原创 给前缀相同的表添加相同的列

存储过程 drop procedure if exists taskAddFieldPro; CREATE PROCEDURE taskAddFieldPro() BEGIN DECLARE tableName CHARACTER(50); DECLARE done INT DEFAULT FALSE; DECLARE taskCursor CURSOR FOR select userName from user; DECLARE CONTINUE HANDLER FOR NOT FOUN

2021-01-14 17:40:27 211

原创 SM2修改密码 生成sql语句 读取txt文件

public class SM2sql { public static void main(String[] args){ String inurl="E:\\sys_user.txt"; File infile=new File(inurl); String outurl="E:\\sql.txt"; File outfile=new File(outurl); try { //如果写入的文件

2021-01-14 17:35:20 208

原创 js判断视频是否可以成功播放 layui打开视频页面 thymeleaf显示视频列表

html <div class="play_btn" th:data-id="${video.Url}" th:data-size="${video.Size}" onclick="playVideo(this.getAttribute('data-id'),this.getAttribute('data-size'))"></div> js 跨域 function playVideo(content,size) { var video = document.create

2021-01-14 16:51:29 1308 3

原创 springboot SM2加解密 及其工具类

SM2密码加解密 public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Bean public AuthenticationProvider daoAuthenticationProvider() { DaoAuthenticationProvider daoAuthenticationProvider = new DaoAuthenticationProvider(); daoA

2021-01-14 15:12:39 5861 6

原创 后台生成验证码 前台img点击onclick事件 路径后加随机数 get请求

<img onclick="changeCode(this)" id="codeJPG" alt="" src="/code/image" style="cursor:pointer;"> function changeCode(obj) { obj.src = "/code/image?" + Math.random(); } 路径后面一定要加随机数,get请求时,会缓存请求。当下一次请求的地址和请求参数不变时,浏览器会使用缓存,而不触发请求。所以要在地址后面加一个动态改变的内容,

2021-01-14 15:02:43 610 1

原创 三层架构 数据访问层 业务逻辑层 表示层

三层架构 数据访问层 业务逻辑层 表示层 方便团队开发,代码复用 不属于三层,但跟三层息息相关——实体类(跟数据库表对应的类) 数据访问层 连接数据库,执行sql语句 cn.edu.xcu.sims.dao BaseDao //增删改的封装 public int executeUpdate(String sql,Object ...args) { try { Conn...

2019-07-20 21:27:02 1871

原创 封装 查询 增删改 连接数据库的封装 对象的封装

封装 BaseDao 传参数,数量、类型不固定怎么办? public class TestMethod { //第一种,方法的重载 /*public int sum(int a) { return a; } public int sum(int a,int b) { return a+b; } public int sum(int a,int b,int c) { retu...

2019-07-20 21:25:33 215

原创 事物 银行转账 回滚

事务 转账 ACCID PASSWORD USERNAME OPENDATE BALANCE ----------- -------------------- -------------------- ----------- ------------ 10086 123456 中国移...

2019-07-20 21:23:25 516

原创 JDBC连接数据库 登录 添加 查询 批量执行sql语句 游标类型 返回多行数据 大数据

JDBC Java数据库连接技术 java提供的一组连接各种数据库的通用api(接口)具体实现由个数据库的厂商来实现的驱动jar包就是实现jdbcapi的一组java类 eclipse连接Oracle mysql-connector-java-8.0.16 java Interface Connection 静态sql语句,数据库连接 Interface Stateme...

2019-07-20 21:22:16 860

原创 数据库事物 银行转账 保存点 数据导出 三大范式

事务 设置保存点 savepoint a; 记录创建这一刻数据的状态,如果执行失败,将数据回滚到这一刻的状态 begin update account set balance=balance-1000 where accid=10010; update account set balance=balance+1000 where accid=10086; dbms_output.put_lin...

2019-07-20 21:17:38 359

原创 oracle函数自定义过程 传参 执行过程 触发器 创建包 视图 动态执行sql语句

函数 函数可以return,过程不可以,过程可以out,函数也可以out,不过基本不用 create function 函数名 (参数) return 返回数据类型 is begin end; 将一个函数创建两次,第二次覆盖第一次,不会报该函数已存在的错,加 or replace create or replace function 函数名 (参数)//个数不受限制 return 返回数据类型/...

2019-07-20 21:15:41 827

原创 mysql数据库 建表 约束

创建数据库 craete database 数据库名 default character set utfs; 选择数据库 use 数据库名 use 数据库名 建表 create table 表名(列名 数据类型,列名 数据类型); create table student ( stuid int(5) primary key auto_increment,//主键,自动赋值,编号 stun...

2019-07-20 21:11:09 272

原创 流程练习

1、输入员工编号,如果他的工资高于他所在部门的平均工资,输出工资较高,否则输出工资较低 declare v_sal emp.sal%type; v_avgsal emp.sal%type; v_empno emp.empno%type; begin v_empno:=&empno; select avg(sal) into v_avgsal from emp where deptno=(s...

2019-07-11 21:17:29 312

原创 流程控制,循环控制语句,游标

流程控制 emp %rowtype 行类型 emp.sal%type 和emp表中sal类型一样 record 记录集类型 条件控制语句 if 条件 declare v_job emp.job%type begin select job into v_job from emp where empno=&empno; if v_job='MANAGER' then dbm...

2019-07-11 21:15:48 208

原创 权限,角色,表空间,简单plsql语法

用户 sys 无所不能 system scott 当前用户 创建用户 create user 用户名 identified by 密码; 查看当前账户 show user; 切换账户 conn / as sysdba 切换为超管 查用户表 select * from scott.emp; 查看所有用户 select * from All_users; 用户登录 conn 用户名/密码 ...

2019-07-11 21:12:21 471

原创 子查询练习

1、查询每个部门中入职最早的员工的姓名,职位,上司姓名 和部门名称 方法1: select e.ename,e.job,m.ename as 上司姓名,m.job as 上司职位,dname from emp e inner join dept on e.deptno=dept.deptno inner join emp m on e.mgr=m.empno where e.hiredate=(s...

2019-07-11 21:10:53 1037

原创 where,insert,delete,update,select子查询,关联子查询,分页查询,集合查询

子查询 高级查询:子查询(出现多个select) where子句中使用子查询 查询和SMITH在同一个部门的员工信息 select * from emp where deptno= ( select deptno from emp where ename='SMITH' ); 查询比SCOTT工资高的 select * from emp where sal> ( select sal fr...

2019-07-11 21:09:50 386

原创 多表查询 ,内部联结,外部联结,自联结

1、单表查询 select…from… where… group by… order by… 2、多表查询 联结查询 1、内部联结 A、 select 列名,列名 from 表名,表名 where 条件 select ename,job,dname,loc from emp,dept where emp.deptno=dept.deptno; select ename,job,dname,loc ...

2019-07-11 21:07:32 274

原创 单表查询,模糊匹配,合并结果集,排序,行号,聚合函数,分组

查询数据 查询所有数据 select * from 表; 查询空值 select * from 表名 where 列名 is null 查询非空 select * from 表名 where 列名 is not null 范围查询 and select * from 表名 where 列名>10 and 列名<200; between…and… select * from 表名 w...

2019-07-08 20:38:53 340

原创 sqlplus常见命令,角色,权限,授权

sqlplus常见命令 常见的ORACLE角色有三种:connect(登录)resource(操作资源)dab(系统管理员) 本地连接:sqlplus 用户名/密码 as sysbda sqlplus 用户名/密码 远程连接 :sqlplus 用户名/密码@IP地址:1521/XE ORACLE是基于用户管理资源 创建用户:create user 用户名 identified by密码 锁定用户:...

2019-07-08 20:29:12 3575

原创 oracle数据库,权限,安装,卸载

ORACLE数据库 ORACLE有很多产品 ORACLE 8I(2008)、9I(2009)、10G(2011)、11G(2013)(快捷版)、12C(2015)、18C(2018) i=Internet(因特网)g=grid(网格计算) c=cloud(云计算) 亚马逊 微软 阿里巴巴 OJCP证 ORACLE认证 OCA(初级) OCP(中级)OCM(高级) ORACLE的三个版本 企业版、标...

2019-07-08 20:27:53 181

原创 oracle函数

oracle函数 字符函数 concat 连接两个字符串 select concat(‘hello’,‘oracle’) from dual; dual虚拟的表,无法确定连接的两个字符串来自于哪个表 ||连接字符串——select ‘hello’||‘oracle’ from dual;——‘hello’||‘oracle’ select concat((concat’aaa’,‘bbb’), ‘...

2019-07-08 20:25:32 168

原创 函数

函数 普通方法可直接调用静态方法 普通方法new 之后才能调用其他类的普通方法 静态方法可直接调用静态方法 静态方法只有new 之后才能调用普通方法 自己调用自己会栈溢出 eg: public class StaticTools{ public static void main(String[] args){ StsticTools tool=new StaticTools(); ...

2019-07-08 20:24:17 218

原创 修改表结构

1、删除约束 alter table 表名 drop constraint 约束名; 查看约束:select * from user_constraints;(全部) select * from user_constraints where table_name='表名(大写)';(查某一个表) 查看表结构:desc 表名 2、修改表结构 增加删除列 alter t...

2019-07-08 20:23:17 728

原创 数据库建表

数据库建表 测试用户:scott/tiger 超级管理员:sys/as sysdba 1、建表 creat table 表名(列名 数据类型 约束,列名 数据类型 约束。。。) 数据类型 字符串:varchar(2)长度不固定 nvarchar(1) char(10)固定长度,不够补空格 nchar() 数字:number(7整数,0小数) 日期:date(7-7月-2019/除此...

2019-07-08 20:21:19 10572

原创 面向对象

函数(方法) 函数就是代码的封装(程序员的懒惰) 代码要写在方法中,一个函数就表示了一段代码 好处:1、一次编写,到处运行。2、修改一次,全部修改。3、隐藏实现的细节 函数和函数相互嵌套调用,栈溢出(自己调用自己) API ------application program interface 应用程序接口 API 实际上就是很多的函数 普通函数 也叫普通方法,没有static修饰的方法 普...

2019-07-06 17:38:08 118

原创 二维数组

二维数组 int[][]array={{1,2,3},{1,2,3},{1,2,3]}}; int [][]array=new int[3][3]; [行][列] 行*列个数据 行 表示有多少个数组 行+1 数组的总和 存放取出数据 char[][]array=new char[8][9]; for(int i=0;i<array.length;i++){ for(int ...

2019-07-06 11:47:17 248

原创 数组二分查找

public static void main(String[] args) { int []array= {1,3,7,13,18,19,20}; int num=18; int start=0; int tag=0; int end=array.length-1; int half=0; while(end>=start) { half=(star...

2019-07-06 11:21:04 158

原创 数组练习

eg1:声明一个Int型的数组,循环接收8个学生的成绩,计算这8个学生的总分及平均分、最高分和最低分。 public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int sum=0; int avg=0; int []stuscores=new int[8]; for(int i...

2019-07-06 10:25:50 417

原创 数组

数组 就是一块连续的内存空间 数组的数据存放在堆中,堆中数据会自动初始化,变量地址映射表和堆的关系 int []array=new int[12]; //空间大小为12*4=48个字节 在方法里面的变量叫局部变量,局部变量一定要初始化 遍历 将数组所有内容都看一下 查看这块内存的数据 public static void main(String[] args) { int []array=new...

2019-07-05 17:50:50 112

原创 break和continue

关键字 int short long byte char boolean float double for while do while switch if else 名字/标识符--------不允许用关键字,不允许数字开头,类的首字母大写,$,_,字母开头 break和continue break只能在循环和case中使用 break可以让死循环变...

2019-07-05 15:38:43 126

原创 数据类型

4类8种 整数 byte(1)【-128到127】 int(4) short(2)【-32768到32767】 long(8) 浮点 float(4)科学计数法 double(8) 字符 char(2)【0-65535】 前128(0-127)个字符对应ASCII码(97-a) 逻辑 boolean(1/4)看你的电脑性能 类型转换 boolean不参与类型转换 字符当成...

2019-07-05 14:57:38 129

原创 简单循环练习

/** * 死循环 代码一直都在跑 活循环 计次循环 条件循环 当达到什么条件退出循环 *3种语法 while();do…while();for() * *业务逻辑 死循环 监控 活循环 计次循环 条件循环 */ public static void main(String[] args) { //括号中只能写/真假/条件表...

2019-07-05 10:49:37 240

原创 简单计算练习

/** 判断水仙花数(三位数),每位数字的立方和等于该数即水仙花数 */ public static void main(String[] args) { int num=153; int bai=num/100; int shi=num/10%10; int ge=num%10; if(baibaibai+shishishi+gegege==num) { System.out.println...

2019-07-04 19:09:44 176

原创 多线程抢票2

1.12306抢票 (线程 死锁)方法一: public class ThreadGetOneResource ​ { ​ private int ticket=1000; public static void main(String[] args) { //多个线程抢占同一个资源 //所有的传值过程就是复制过程 //静态只能访问静态 ThreadGetOneRe...

2019-06-01 22:18:11 401

原创 多线程抢票1

多线程 死锁 抢票

2019-06-01 21:58:21 198

原创 线程

多线程的好处: 1.提升代码执行效率 2.多线程的特点(宏观上并行,微观上串行) 3.多线程一起执行(1.时间片 2.时间顺序) A。代码一执行,就会产生一个线程,main线程 我们的程序最少会启动一个线程,单线程的程序 public class ThreadDemo{ public static void main(String[]arge){ for(int i=0;i<100;i++...

2019-06-01 15:27:34 106

sm2前台加密sm2前台加密

sm2前台加密sm2前台加密

2021-01-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除