自定义博客皮肤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 646

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

存储过程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 176

原创 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 163

原创 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 1211 3

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

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

2021-01-14 15:12:39 5166 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 520 1

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

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

2019-07-20 21:27:02 1724

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

封装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 180

原创 事物 银行转账 回滚

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

2019-07-20 21:23:25 454

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

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

2019-07-20 21:22:16 785

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

事务设置保存点savepoint a;记录创建这一刻数据的状态,如果执行失败,将数据回滚到这一刻的状态beginupdate 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 307

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

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

2019-07-20 21:15:41 753

原创 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 232

原创 流程练习

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

2019-07-11 21:17:29 219

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

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

2019-07-11 21:15:48 162

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

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

2019-07-11 21:12:21 327

原创 子查询练习

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

2019-07-11 21:10:53 905

原创 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 292

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

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 219

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

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

2019-07-08 20:38:53 281

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

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

2019-07-08 20:29:12 3393

原创 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 134

原创 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 135

原创 函数

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

2019-07-08 20:24:17 148

原创 修改表结构

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 653

原创 数据库建表

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

2019-07-08 20:21:19 10505

原创 面向对象

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

2019-07-06 17:38:08 84

原创 二维数组

二维数组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 198

原创 数组二分查找

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 118

原创 数组练习

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 321

原创 数组

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

2019-07-05 17:50:50 81

原创 break和continue

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

2019-07-05 15:38:43 90

原创 数据类型

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 92

原创 简单循环练习

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

2019-07-05 10:49:37 193

原创 简单计算练习

/**判断水仙花数(三位数),每位数字的立方和等于该数即水仙花数*/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 139

原创 多线程抢票2

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

2019-06-01 22:18:11 346

原创 多线程抢票1

多线程 死锁 抢票

2019-06-01 21:58:21 160

原创 线程

多线程的好处: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 75

sm2前台加密sm2前台加密

sm2前台加密sm2前台加密

2021-01-14

空空如也

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

TA关注的人

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