JDBC_mysql---防sql注入,存储图片
package PreparedStatement_sql注入; import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner; import org.junit.After;
import org.junit.Before;
import org.junit.Test; public class PreparedStatement_sql {
// 用?作为占位符号 /**
* 保存图片mysql中用longblob
* @throws Exception
*/
@Test
public void saveImg() throws Exception{
String sql = "insert into stud values(66,?,?)";
PreparedStatement pst = con.prepareStatement(sql);
//声明图片的信息
File file = new File("./img/a.jpg");
InputStream in = new FileInputStream(file);
//设置参数到pst中
pst.setString(1, "ss");
pst.setBinaryStream(2,in);
//执行
pst.executeUpdate();
} /**
* 防止sql注入
*
* @throws Exception
*/
@Test
public void regWithPre() throws Exception { Scanner sc = new Scanner(System.in);
System.err.println("输入id ,name");
String id = sc.nextLine();
String name = sc.nextLine();
String sql = "insert into stud values(?,?)";
// preparedstatement pst 接收sql
// 执行sql语句再设置参数
PreparedStatement pst = con.prepareStatement(sql);
// 编译好后设置参数
// 设置值要从1开始
pst.setString(1, id);
pst.setString(2, name);
pst.executeUpdate(); } /**
* 判断数据库里是否有值
*
* @throws Exception
*/
@Test
public void loginPst() throws Exception {
Scanner sc = new Scanner(System.in);
String nm = sc.nextLine();
String id = sc.nextLine();
String sql = "select * from stud where id=? and name=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, id);
pst.setString(2, nm);
System.err.println(sql);
ResultSet rs = pst.executeQuery();// 判断是否有值
if (rs.next()) {
System.err.println("你登录成功,你好欢迎你..");
} else {
System.err.println("你登录不成功。。。");
}
} @Before
// 执行Test前执行
public void getCon() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306/abc?useUnicode=true&characterEncoding=utf8";
con = DriverManager.getConnection(url, "root", "1234");
// con.close();
// System.err.println(con); } @After
// 执行Test后执行
public void closeConn() throws Exception {
if (con != null || !con.isClosed()) { con.close();
} } private Connection con; }
JDBC_mysql---防sql注入,存储图片的更多相关文章
- 【荐】PDO防 SQL注入攻击 原理分析 以及 使用PDO的注意事项
我们都知道,只要合理正确使用PDO,可以基本上防止SQL注入的产生,本文主要回答以下几个问题: 为什么要使用PDO而不是mysql_connect? 为何PDO能防注入? 使用PDO防注入的时候应该特 ...
- C#语言Winform防SQl注入做用户登录的例子
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- PHP防SQL注入不要再用addslashes和mysql_real_escape_string
PHP防SQL注入不要再用addslashes和mysql_real_escape_string了,有需要的朋友可以参考下. 博主热衷各种互联网技术,常啰嗦,时常伴有强迫症,常更新,觉得文章对你有帮助 ...
- mysql之数据库连接的方法封装及防sql注入
一.定义数据库和表 create database animal; CREATE TABLE `pet` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name ...
- nginx服务器防sql注入/溢出攻击/spam及禁User-agents
本文章给大家介绍一个nginx服务器防sql注入/溢出攻击/spam及禁User-agents实例代码,有需要了解的朋友可进入参考. 在配置文件添加如下字段即可 代码如下 复制代码 server { ...
- C#防SQL注入代码的实现方法
对于网站的安全性,是每个网站开发者和运营者最关心的问题.网站一旦出现漏洞,那势必将造成很大的损失.为了提高网站的安全性,首先网站要防注入,最重要的是服务器的安全设施要做到位. 下面说下网站防注入的几点 ...
- php防sql注入、xss
php自带的几个防止sql注入的函数http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2013/0318/12234.html addslashe ...
- SQL 2008存储图片和读取图片
用SQL Server存储文字数据非常easy实现,假设用SQL Server存储图片呢?大家有没有实现思路呢?如今我用一个Demo来为大家提供一种在SQL Server中存储图片的思路. 场景:在s ...
- Sqlparameter防SQL注入
一.SQL注入的原因 随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对 ...
- 防SQL注入:生成参数化的通用分页查询语句
原文:防SQL注入:生成参数化的通用分页查询语句 前些时间看了玉开兄的“如此高效通用的分页存储过程是带有sql注入漏洞的”这篇文章,才突然想起某个项目也是使用了累似的通用分页存储过程.使用这种通用的存 ...
随机推荐
- iOS开发 XML解析和下拉刷新,上拉加载更多
iOS开发 XML解析和下拉刷新,上拉加载更多 1.XML格式 <?xml version="1.0" encoding="utf-8" ?> 表示 ...
- java学习基础
Q: What if the static modifier is removed from the signature of the main method? A: Program compiles ...
- setTimeout的时间设为0的问题
javascript是单线程执行的,当某一段代码正在执行的时候,所有的后续任务都必须等待,形成一个队列, 一旦当前任务执行完毕,再从队列中取出下一个任务.这常被称为”阻塞式执行“. 如果代码中设定一个 ...
- jquery的使用 超级快速入门 熟练使用
如何使用jquery,首先需要引入jquery的js库文件,可以是免费的cdn资源,也可以是本地下载的资源 使用方法:$(function(){ 这里面写你要执行的代 ...
- Js 导出Excel IE ActiveX控件
function ExportExcel() { var oXL = new ActiveXObject("Excel.Application"); //创建excel应用程序对象 ...
- jQuery UI Datepicker&Datetimepicker添加 时-分-秒 并且,判断
jQuery UI Datepicker时间(年-月-日) 相关代码: <input type="text" value="" name="ad ...
- http://codepen.io/zhou-yg/pen/NqgPmg 在线编辑器
http://codepen.io/zhou-yg/pen/NqgPmg 在线编辑器
- robot自动化测试(二)--- template使用
首先贴一下测试结构 测试流程: 1.打开百度主页 2.搜索框输入搜索内容 3.获取浏览器title 4.验证title的正确性 百度搜索业务关键字:采用分层结构:只需输入要搜索的内容:${search ...
- 当浏览器输入url的时候发生了什么
当用户在浏览器地址栏里面输入一个url的时候.接下来会发生一系列的过程.首先是DNS解析, 将域名转换成对应的IP地址,之后浏览器与远程Web服务器通过TCP三次握手协商来建立一个TCP/IP连接.该 ...
- BZOJ 2440 完全平方数(莫比乌斯反演,容斥原理)
http://www.lydsy.com/JudgeOnline/problem.php?id=2440 题意:求第K个没有平方因子的数 思路:首先,可以二分数字,然后问题就转变成x以内有多少无平方因 ...