sql数据库

MyBatis框架及原理分析

☆樱花仙子☆ 提交于 2020-03-23 06:40:29
文章转载自 https://www.cnblogs.com/luoxn28/p/6417892.html 感觉写的不错。 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情: 封装JDBC操作 利用反射打通Java类与SQL语句之间的相互转换 MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。 MyBatis的配置 MyBatis框架和其他绝大部分框架一样,需要一个配置文件,其配置文件大致如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="false"/> <!--<setting name="logImpl" value="STDOUT

jsp上传文件到数据库和从数据库下载文件

落花浮王杯 提交于 2020-03-23 06:17:25
用了commons-fileupload-1.2.jar和commons-io-1.3.2.jar这两个包。 save.jsp <%@ page language="java" contentType="text/html;charset=utf-8"%> <%@ page import="java.util.*"%> <%@ page import="java.io.*"%> <%@ page import="java.util.regex.*"%> <%@ page import="org.apache.commons.fileupload.*"%> <%@ page import="java.sql.*"%> <html> <head> <title>保存上传文件</title> </head> <body bgcolor='#FFFFFF' text='#000000' leftmargin='0' topmargin='40' marginwidth='0' marginheight='0'> <font size='6' color='blue'>文件列表:</font> <center> <table cellpadding=0 cellspacing=1 border=1 width='100%'> <tr> <td bgcolor=#008080>文件名</td>

手动SQL注入-Post请求

别等时光非礼了梦想. 提交于 2020-03-22 22:30:49
3 月,跳不动了?>>> Burpsuite介绍 Burpsuite是一款基于Java语言开发的Web安全测试利器几乎集成了Web安全测试中需要的所有功能。 Burpsuite使用 1、火狐浏览器选择“手动代理配置”并配置代理地址为127.0.0.1端口默认是8080,点击为所有协议使用相同代理服务器。 2、启动Burpsuite 3、在BurpSuite界面中点击“Proxy”->“Options“设置代理 4、在BurpSuite界面中点击“Proxy”->“Intercept“,默认intercept功能是启动的。如果intercept is Off表示关闭,点击一下即可启动。 5、BurpSuite界面中点击Forward放行数据包,点击Drop丢弃数据包。 Burpsuite截获请求 1、在BurpSuite界面中点击“Proxy”->“Intercept“ 2、火狐浏览器访问 http://192.168.1.64/sqli-labs/ 页面 3、截获请求信息 SQL报错 POST方式联合查询 1、启动Burpsuite截获请求 2、burpsuite对数据包进行修改,空白处点击右键选择Send to Repeater。Repeater是靠手动操作发送单独的HTTP请求,并可以随时多次分析应用程序响应的工具。 其中&并非是SQL语句中的&,只是HTTP 请求包格式

Oracle导出存储过程

梦想的初衷 提交于 2020-03-22 15:49:17
SQL> SELECT * FROM dba_directories ; OWN DIRECTORY_NAME DIRECTORY_PATH ------- ---------------------- --------------- SYS DPUMPDIR /oracle/bakup SQL>grant read ,write on directory DPUMPDIR to &user; C:/Users/Liangwei>expdp help=y ... INCLUDE 包括特定对象类型。 例如, INCLUDE=TABLE_DATA。 expdp user/password directory=DPUMPDIR dumpfile=prodedure.dmp include=PROCEDURE 当然PROCEDURE 也可以换成其它对象如: INDEX,TABLE,FUNCTION,VIEW,DATABASE LINK,SYNONYM,PACKAGE BODY,SEQUENCE,LOB,PACKAGE C:/Users/Liangwei>impdp help=y ... SQLFILE 将所有的 SQL DDL 写入指定的文件。 impdp user/password directory=DPUMPDIR dumpfile=prodedure.dmp SQLFILE

PL/SQL(一)简介

会有一股神秘感。 提交于 2020-03-22 06:39:13
Oracle PL/SQL语言 (Procedural Language/SQL)是结合了结构化查询与Oracle自身过程控制为一体的强大语言,PL/SQL不但支持更多的数据类型,拥有自身的变量声明、赋值语句,而且还有条件、循环等流程控制语句。过程控制结构与SQL数据处理能力无缝的结合形成了强大的编程语言,可以创建过程和函数以及程序包。 PL/SQL是一种块结构的语言,它将一组语句放在一个块中,一次性发送给服务器,PL/SQL引擎分析收到PL/SQL语句块中的内容,把其中的过程控制语句由PL/SQL引擎自身去执行,把PL/SQL块中的SQL语句交给服务器的SQL语句执行器执行。如图所示: PL/SQL块发送给服务器后,先被编译然后执行,对于有名称的PL/SQL块(如子程序)可以单独编译,永久的存储在数据库中,随时准备执行。PL/SQL的优点还有: ★支持SQL SQL是访问数据库的标准语言,通过SQL命令,用户可以操纵数据库中的数据。PL/SQL支持所有的SQL数据操纵命令、游标控制命令、事务控制命令、SQL函数、运算符和伪列。同时PL/SQL和SQL语言紧密集成,PL/SQL支持所有的SQL数据类型和NULL值。 ★支持面向对象编程 PL/SQL支持面向对象的编程,在PL/SQL中可以创建类型,可以对类型进行继承,可以在子程序中重载方法等。 ★更好的性能 SQL是非过程语言

JDBC 自定义连接池

一笑奈何 提交于 2020-03-22 04:28:30
1、存放连接信息 db.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/web08?useUnicode=true&characterEncoding=utf8 username=root password=root 2、工具类用来获取链接数据库 JDBCUtils_V3.java package cn.itheima.jdbc.utils; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; import java.util.ResourceBundle; /** * 提供获取连接和释放资源的 方法*/ public class JDBCUtils_V3 { private static String driver; private static String url;

Oracle Data Guard 角色转换

纵然是瞬间 提交于 2020-03-22 00:03:48
实验环境:OEL+Oracle11.2.0.3+physical standby 众所周知,Data Guard已经是现今标准的主流容灾方案,由于日志传递对于网络适应程度强,且可以采用同步实时的传递方式和异步延迟的传递方式,甚至可以成为远程的异地容灾方案。不管用于何种用途,DG都免不了要进行角色转换,即将standby 数据库切换为primary数据库,角色转换分为:switchover和failover两种;两种区别从三个角度来对比: (1)、使用场合不同:Switchover 用于有准备的、计划之中的切换,通常是系统升级、数据迁移等常态任务;Failover用于意料之外的突发情况,比如异常掉电、自然灾难等等。 (2)、数据丢失程度不同:Switchover不会丢失数据,Failover通常意味着有部分数据丢失。 (3)、善后处理的不同:Switchover之后Dataguard环境不会被破坏,任然有Primary、Standby两种角色的系统存在。但是Failover之后,Dataguard环境就会被破坏,必须需要重建。 一、Switchover 因为Switchover这种转化是有DBA主动、人为触发的,所以Switchover的步骤都是标准化的。Switchover流程是从Primary Database开始,终止于Standby Database。

logminer

僤鯓⒐⒋嵵緔 提交于 2020-03-21 20:04:43
参考视频: [bbk1260] [bbk1261] objectives analyze redo logfile incomplete recover database steps backup database modify spfile restart database manipulate database,switch logfile use logmnr analyze redo logfile inmplete recover datavase verify recover modify spfile mkdir /logmnr chown -R oracle:dba /logmnr alter system set utl_file_dir='/logmnr' scope='spfile' side='*'; shutdown databae; startup; 模拟误操作 insert drop insert switch logfile use logmnr create dictionary add logfile start analyze create table as select * from v$logmnr_contents end logmnr find exact drop time [root@11203ora /]# mkdir

LogMiner

别来无恙 提交于 2020-03-21 20:04:24
一、LogMiner的用途 日志文件中存放着所有进行数据库恢复的数据,记录了针对数据库结构的每一个变化,也就是对数据库操作的所有 DML 语句。 在 Oracle 8i 之前, Oracle 没有提供任何协助数据库管理员来读取和解释重作日志文件内容的工具。系统出现问题,对于一个普通的数据管理员来讲,唯一可以作的工作就是将所有的 log 文件打包,然后发给 Oracle 公司的技术支持,然后静静地等待 Oracle 公司技术支持给我们最后的答案。然而从 8i 以后, Oracle 提供了这样一个强有力的工具 -LogMiner 。 LogMiner 工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文件,也可以用来分析其他数据库的重作日志文件。 总的说来, LogMiner 工具的主要用途有: 1 .跟踪数据库的变化:可以离线的跟踪数据库的变化,而不会影响在线系统的性能。 2 .回退数据库的变化:回退特定的变化数据,减少 point-in-time recovery 的执行。 3 .优化和扩容计划:可通过分析日志文件中的数据以分析数据增长模式。 二、安装LogMiner 要安装 LogMiner 工具,必须首先要运行下面这样两个脚本, 1.$ORACLE_HOME/rdbms/admin/dbmslm.sql 2.$ORACLE_HOME

存储过程系列之调试存储过程 SQL Server 2005

主宰稳场 提交于 2020-03-21 14:27:33
在数据库中直接调试 在数据库中直接调试是调试SQL Server 2005的 存储 过程的最简单的方法。 在Visual Stuido的IDE中你可以选择单步执行存储过程,然后就可以一条语句一条语句地单步执行了,同时你也可以检查和修改存储过程内的T-SQL变量和参数。本文结尾处提供下载的压缩包中包括一个SQL Server 2005 Express版本的Northwind数据库。我在其中添加了一个名为“DoThings”的存储过程,它有一个参数@CategoryID。这是一个没什么实用价值的存储过程,但是它有很多的T-SQL语句和变量,另外还有一个参数,这将使我们能更好地练习存储过程的调试。 在 服务器 资源管理器中右键单击“DoThings”存储过程,然后选择单步执行存储过程的选项。 (注意:SQL Server调试只有Team Systems和Professional版本的Visual Studio才支持。) 调试器启动并且执行存储过程。因为存储过程“DoThings”需要一个传入值给@CategoryID,所以会弹出一个对话框让我们提供该值。输入1后单击OK。 首先会执行第一条语句。你可以选择逐语句或逐过程进行调试(快捷键分别为F11和F10),也可以在监视窗口中添加参数和变量。 存储 过程调试期间的截屏如下图所示。左侧的黄色箭头指的是当前执行的语句。监视窗口中显示的是