JDBC 增、查、刪、改 和 防止sql注入登入
package cn.mxl.jdbc04; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; /** * * JDBC 增 * * JDBC 增加表中的資料 用SQL語句 * * @author * */ public class Test_JDBC { public static void main(String[] args) { Connection conn =null; // 載入驅動 try { // 之所以要使用下面這條語句,是因為要使用MySQL的驅動,所以我們要把它驅動起來, // 可以通過Class.forName把它載入進去,也可以通過初始化來驅動起來 Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } // 建立連線 try { //// MySQL的JDBC : jdbc:mysql://主機名稱:連線埠/資料庫的名稱,賬號,密碼 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBC","meng","3588105"); System.out.println("建立連線成功"); // Statement是用來向資料庫傳送要執行的SQL語句的! // Statement stmt =null;也可以定義全域性變數 Statement stmt = conn.createStatement(); //增加資料 String sql ="insert into student(NO,name) values('2002','郭嘉')"; int ret =stmt.executeUpdate(sql); } catch (SQLException e) { System.out.println("Mysql操作錯誤"); e.printStackTrace(); }finally { // 關閉連線 if (conn!=null) { try { conn.close(); System.out.println("關閉連線成功"); } catch (SQLException e) { System.out.println("關閉連接出現錯誤"); e.printStackTrace(); } } } } }
package cn.mxl.jdbc03; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * * JDBC 查 * *JDBC 查看錶中指定列資料 * @author * */ public class Test_JDBC { public static void main(String[] args) { Connection conn = null; String sql; // 載入驅動 try { // 之所以要使用下面這條語句,是因為要使用MySQL的驅動,所以我們要把它驅動起來, // 可以通過Class.forName把它載入進去,也可以通過初始化來驅動起來 Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } // 建立連線 try { // MySQL的JDBC : jdbc:mysql://主機名稱:連線埠/資料庫的名稱,賬號,密碼 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBC","meng","3588105"); System.out.println("建立連線成功"); // Statement是用來向資料庫傳送要執行的SQL語句的!Statement // Statement stmt =null;也可以定義全域性變數 Statement stmt = conn.createStatement(); // 查詢所有表中資料 需要定義一個ResultSet (檢視資料) // ResultSet rt = null;也可以定義全域性變數 ResultSet rt =stmt.executeQuery("select * from student"); //一次查詢一條,可以用迴圈查詢。 while(rt.next()){ System.out.println(rt.getString("NO")+"\t"+rt.getString("name")); //System.out.println(rt.getString(1)+"\t"+rt.getString(2)); } } catch (SQLException e) { System.out.println("Mysql操作錯誤"); e.printStackTrace(); }finally { // 關閉連線 if (conn!=null) { try { conn.close(); System.out.println("關閉連線成功"); } catch (SQLException e) { System.out.println("關閉連接出現錯誤"); e.printStackTrace(); } } } } }
package cn.mxl.jdbc05; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; /** * * JDBC 刪 * * JDBC 刪除表中的資料 用SQL語句 * * @author * */ public class Test_JDBC { public static void main(String[] args) { Connection conn =null; // 載入驅動 try { // 之所以要使用下面這條語句,是因為要使用MySQL的驅動,所以我們要把它驅動起來, // 可以通過Class.forName把它載入進去,也可以通過初始化來驅動起來 Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } // 建立連線 try { //// MySQL的JDBC : jdbc:mysql://主機名稱:連線埠/資料庫的名稱,賬號,密碼 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBC","meng","3588105"); System.out.println("建立連線成功"); // Statement是用來向資料庫傳送要執行的SQL語句的! // Statement stmt =null;也可以定義全域性變數 Statement stmt = conn.createStatement(); //刪除資料 String sql = "delete from student where NO='2012001'"; int ret =stmt.executeUpdate(sql); } catch (SQLException e) { System.out.println("Mysql操作錯誤"); e.printStackTrace(); }finally { // 關閉連線 if (conn!=null) { try { conn.close(); System.out.println("關閉連線成功"); } catch (SQLException e) { System.out.println("關閉連接出現錯誤"); e.printStackTrace(); } } } } }
package cn.mxl.jdbc02;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
*
* JDBC 改
*
* JDBC 更新(改)表中的資料 用SQL語句update
* stmt.executeLargeUpdate
* @author
*
*/
public class Test_JDBC {
public static void main(String[] args) {
Connection conn = null;
// 載入驅動
try {
// 之所以要使用下面這條語句,是因為要使用MySQL的驅動,所以我們要把它驅動起來,
// 可以通過Class.forName把它載入進去,也可以通過初始化來驅動起來
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 建立連線
try {
//// MySQL的JDBC : jdbc:mysql://主機名稱:連線埠/資料庫的名稱,賬號,密碼
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBC","meng","3588105");
System.out.println("建立連線成功");
// Statement是用來向資料庫傳送要執行的SQL語句的!
// Statement stmt =null;也可以定義全域性變數
Statement stmt = conn.createStatement();
//更新資料(更改資料)
String sql ="update student set name='諸葛亮' where NO=2012002";
int ret =stmt.executeUpdate(sql);
} catch (SQLException e) {
System.out.println("Mysql操作錯誤");
e.printStackTrace();
}finally {
// 關閉連線
if (conn!=null) {
try {
conn.close();
System.out.println("關閉連線成功");
} catch (SQLException e) {
System.out.println("關閉連接出現錯誤");
e.printStackTrace();
}
}
}
}
}
建立表和向表插入資料
package cn.mxl.jdbc01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.log4j.Logger;
/**
* 1.JDBC連線資料庫
* 2.建立表和向表插入資料
*
*
* @author
*
*/
public class Test_JDBC {
// 出現異常用LOG4J記錄異常資訊
// private static Logger logger =Logger.getLogger(Test_JDBC.class.getName());
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
// 載入驅動
try {
// 之所以要使用下面這條語句,是因為要使用MySQL的驅動,所以我們要把它驅動起來,
// 可以通過Class.forName把它載入進去,也可以通過初始化來驅動起來
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 建立連線
try {
//// MySQL的JDBC : jdbc:mysql://主機名稱:連線埠/資料庫的名稱,賬號,密碼
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBC","meng","3588105");
System.out.println("建立連線成功");
//在這裡寫操作資料庫的SQL程式碼
// Statement裡面帶有很多方法,比如executeUpdate可以實現插入,更新和刪除等
stmt = conn.createStatement();
//定義表結構
String sql = "create table student(NO char(20),name varchar(20),primary key(NO))";
int result = stmt.executeUpdate(sql);// executeUpdate語句會返回一個受影響的行數,如果返回-1就沒有成功
if (result != -1) {
System.out.println("建立資料表成功");
//sql語句插入資料
sql = "insert into student(NO,name) values('2012001','陶偉基')";
result = stmt.executeUpdate(sql);
//sql語句插入資料
sql = "insert into student(NO,name) values('2012002','周小俊')";
result = stmt.executeUpdate(sql);
//sql語句插入資料
sql = "insert into student(NO,name) values('2012003','急急急')";
result = stmt.executeUpdate(sql);
//查看錶中所有資訊 ResultSet
sql = "select * from student";
ResultSet rs = stmt.executeQuery(sql);// executeQuery會返回結果的集合,否則返回空值
System.out.println("學號\t姓名");
while (rs.next()) {
System.out.println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int型別可以用getInt()
}
}
} catch (SQLException e) {
System.out.println("Mysql操作錯誤");
e.printStackTrace();
}finally {
// 關閉連線
if (conn!=null) {
try {
conn.close();
System.out.println("關閉連線成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
package cn.jdbc.denglu;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class Test_JDBC {
/**
* jdbc通過資料庫進行賬號密碼驗證。
* @param args
*/
public static void main(String[] args) {
Connection conn =null;
//Statement stmt =null;
PreparedStatement stmt = null;
ResultSet rt = null;
Scanner input = new Scanner(System.in);
System.out.println("\t請輸入賬號和密碼");
System.out.println("請輸入賬號:");
String name=input.next();
System.out.println("請輸入密碼:");
String password =input.next();
//載入驅動
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//建立連線
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc", "meng", "3588105");
//用?佔位符 代表
String sql ="select * from student where name=?and password=?";
stmt = conn.prepareStatement(sql);
//兩個引數,1是第一個?是第二個? 第二個引數 是 輸入的值
stmt.setObject(1, name);
stmt.setObject(2, password);
rt=stmt.executeQuery();
if (rt.next()) {
System.out.println("登入成功!!!");
}else {
System.out.println("登入失敗,重新輸入。");
}
}
catch (SQLException e) {
e.printStackTrace();
}
//關閉連線
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (stmt!=null) {
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (rt!=null) {
try {
rt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
相關推薦
JDBC 增、查、刪、改 和 防止sql注入登入
package cn.mxl.jdbc04; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement
JDBC增刪改查--資料庫增加刪除、更新、查詢例項
package cn.com.JDBC; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; pu
mysql初始化、增刪改查用戶、授權
ear stat bit col led inf lis fec part 1. 數據庫安全初始化 [root@elasticsearch my.cnf.d]# mysql_secure_installation #安全初始化命令 NOTE: RUNNING
實現增刪改查(SpringBoot、MyBatis-Plus與Thymeleaf)
show me the code and talk to me,做的出來更要說的明白 我是布林bl,你的支援是我分享的動力! 1 引入 使用 MyBatis-Plus 以及 thymeleaf 實現增刪查改。效果圖在最後。 2 Mybatis-Plus MyBatis-Plus(簡稱 MP)是一個 MyB
Centos中iptables和firewall防火墻開啟、關閉、查看狀態、基本設置等(轉)
firewall 開啟 highlight tar service服務 sha sysconfig linu accept iptables防火墻 1、基本操作 # 查看防火墻狀態 service iptables status # 停止防火墻 service ip
PHP MYSQL 增刪改查之刪 jsonDel
let ade content sql數據庫 pre state 網站建設 password roo <?php //header("Content-type: text/html; charset=UTF8"); //header("Content-Type: t
Oracle增刪改查--之刪
Oracle增刪改查--之刪Oracle增刪改查--之刪 1、刪除數據庫用戶 SQL> conn /as sysdbaConnected.SQL> drop user feiyu cascade;用戶已刪除如果用戶無法刪除,並報錯:ERROR at line 1:ORA-01940: canno
MySQL增刪改查--之刪
MySQL刪除數據MySQL刪除數據 1、刪除haha數據庫 drop database 庫名; 2、刪除表 (兩種方式) (1)在user表當前路徑直接刪除 drop table 表名; (2)不在當前user表路徑並指定路徑刪除表 drop table 庫名.表名; 3、刪除表中記錄(兩種
JDBC增刪改查操作總結
JDBC增刪改查操作總結 1.Insert插入操作 使用jdbcTemplate的update()方法執行 例子 private final static String INSERT_USER_SQL= "INSERT INTO t_user(user_id,user_num,user_
JDBC增刪改查方法小記(2個表相關聯)
第一個類引用http://blog.csdn.net/bhq2010/article/details/7478659 SingletonConn類: import java.sql.Connection; import java.sql.DriverManager; import jav
資料庫 (JDBC增刪改查)
開發步驟 一.匯入jar包 1.匯入mysql-connector-java-5.1.0-bin.jar包; 二.寫實體類:(實體層) package com.y
JDBC增刪改查示例程式碼
首先使用如下SQL語句生成一個users表 create table users( id int primary key auto_increment, name varchar(40), password varchar(40), email va
大資料Hive系列之Hive API(jdbc增刪改查 &)
Maven依賴配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema
Oracle與jdbc增刪改查CRUD(Create-Read-Update-Delete)
一、建立oracle資料庫使用者並建表,插入測試資料 1.啟動oracle監聽程式並連線oracle資料庫的服務 開啟我的電腦--管理--服務和應用程式--服務,找到服務 OracleOraDb11g_home1TNSListener和OracleServiceORCL,啟
JDBC增刪改查例項
//增public boolean insert(Users entity) {//宣告返回值變數boolean flag = false;//獲取連線物件conn = JdbcUtil.getConn();//定義sql語句String sql = "insert into users(id,name,pa
prepareStatement進行增刪改查---填充佔位符(防止sql注入)
首先建立表 然後構造一個實體類–封裝資料庫欄位 Student package com.godinsec; public class Student { private int id; private String name;
關於jdbc 增刪改通用的方法,只需要傳sql語句和查詢條件
//第二個引數為給佔位符賦值,可以理解為一個數組 //例如executeUpdate("select *from user where id=? and pwd =?","admin","123") public int executeUpdate(String sql,O
玩轉JDBC打造資料庫操作萬能工具類JDBCUtil,加入了高效的資料庫連線池,利用了引數繫結有效防止SQL注入
SELECT * FROM emp_test 成功查詢到了14行資料 第1行:{DEPT_TEST_ID=10, EMP_ID=1001, SALARY=10000, HIRE_DATE=2010-01-12, BONUS=2000, MANAGER=1005, JOB=Manager, NAME=張無忌}
jdbc防止sql注入方法總結
參考:http://hi.baidu.com/wangyue06/item/c00c824b35cf740ae835049c 1.傳統JDBC,採用PreparedStatement 。預編譯語句集,內建了處理SQL注入的能力 String sql= "selec
JDBC:使用PreparedStatement防止SQL注入
1.關於SQL注入 什麼是SQL注入: 由於jdbc程式在執行的過程中sql語句在拼裝時使用了由頁面傳入引數,如果使用者惡意傳入一些sql中的特殊關鍵字,會導致sql語句意義發生變化,這種攻擊方式就叫做sql注入,參考使用者註冊登入案例。 首先看一下以下程式碼: