JAVA通过JDBC链接数据库获取数据(三)PreparedStatement预编译SQL
来源:互联网 发布:单端口多用户什么意思 编辑:程序博客网 时间:2024/05/22 10:52
JAVA通过JDBC链接数据库获取数据(三)PreparedStatement预编译SQL
一、PreparedStatement 作用
1、可以防止SQL注入:对JDBC而言,SQL注入攻击只对Statement有效,对PreparedStatement是无效的,这是因为PreparedStatement不允许在插入时改变查询的逻辑结构.
2、可以存储和读取大文本文件。
二、PreparedStatement 操作数据库使用实例
package com.sql;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.util.Scanner;import org.junit.After;import org.junit.Before;import org.junit.Test;public class PreparedStatementDemo {Connection con = null;// 在执行SQL语句前先执行 @Before 的代码@Beforepublic void init() throws Exception{//注册驱动Class.forName("com.mysql.jdbc.Driver");//获取链接String url = ("jdbc:mysql://127.0.0.1:3306/long1?characterEncoding=UTF8");con = DriverManager.getConnection(url,"root","123456");System.out.println(con);}//获取到数据库的数据后,执行释放资源@Afterpublic void destory() throws SQLException{con.close();}@Testpublic void Preparedst() throws SQLException{System.out.println("请输入账号和密码");Scanner sc = new Scanner(System.in);String name = sc.nextLine(); //输入账号String pwd = sc.next(); //输入密码//获取sql 输入的参数都用? 作为占位符String sql = "insert into uses(u_name,pwd) values(?,?)";//输出SQL语句,?号不会显示为具体的参数都是在PreparedStatement内部处理。不会给其他人看到。System.out.println("sql 语句是:"+sql);//获取预编译的statementPreparedStatement pt = con.prepareStatement(sql);//给每一个?替换成输入的参数//第一个?替换成输入的账号 name变量pt.setString(1, name);//第二个?替换成输入的密码 pwd 变量pt.setString(2, pwd);//执行sql语句pt.executeUpdate();}}
阅读全文
0 0
- JAVA通过JDBC链接数据库获取数据(三)PreparedStatement预编译SQL
- JAVA通过JDBC链接数据库获取数据(一)
- jdbc+sql+preparedStatement使用预编译实现增添数据
- [疯狂Java]JDBC:PreparedStatement预编译执行SQL语句
- [疯狂Java]JDBC:PreparedStatement预编译执行SQL语句
- JDBC:PreparedStatement预编译执行SQL语句
- JAVA通过JDBC链接数据库获取数据(二)单元测试增删改查
- JDBC那些事(三)——PreparedStatement预编译对象
- 从零开始学JDBC--1.7 PreparedStatement-- 预编译sql
- Java通过JDBC实现对数据库的增删查改(预编译方式)
- java通过JDBC连接MySQL数据库实现 增删查(预编译方式)
- java通过jdbc链接数据库
- 预编译PreparedStatement以及jdbc缺点
- java JDBC 通过物理连接数据库和通过获取数据库连接池进行链接
- 【SQL】JDBC之PreparedStatement类中“预编译”的综合应用
- java通过JDBC链接Mysql数据库
- 预编译语句(PreparedStatement)
- PreparedStatement 预编译原理 可防止SQL注入
- PHP 知识点
- 最大子数组问题--分治法的思想
- CSS3自定义滚动条样式 -webkit-scrollbar
- ORACLE中用rownum分页并排序的SQL语句
- 关键词多空格处理
- JAVA通过JDBC链接数据库获取数据(三)PreparedStatement预编译SQL
- 【007】Java语言(环境变量配置)
- 我是如何对网站CSS进行架构的
- ssm+shiro+UEditor整合
- 自定义View,绘制图文混合
- iOS使用XIB文件报错:reason: 'A view can only be associated with at most one view controller at a time!
- CVE-2017-0199漏洞传播远控木马
- Oracle 11g利用Create Database手工创建数据库
- HTML5 与 HTML4 的区别