jbdc总结
1.使用純java方式連接數(shù)據(jù)庫(kù)
2.使用Statement添加信息
package com.sql;/*** 使用Statement添加寵物*/ import java.sql.*;public class Demo1 {public static void main(String[] args) {Connection conn = null;PreparedStatement ps = null;Statement stmt = null;ResultSet rs = null;try {// 加載驅(qū)動(dòng)Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();System.out.println("建立連接失敗");}try {// 創(chuàng)建連接對(duì)象conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hello", "root", "123456");stmt = conn.createStatement();// 創(chuàng)建sql操作對(duì)象String name = "佩奇";int health = 40;int love = 90;String strain = "哈士奇";StringBuffer sbSql = new StringBuffer("insert into dog (name,health,love,strain) values ( '");sbSql.append(name + "',");sbSql.append(health + ",");sbSql.append(love + ",'");sbSql.append(strain + "')");// 打印拼接后的sqlSystem.out.println(sbSql.toString());stmt.execute(sbSql.toString());// System.out.println("插入成功");} catch (SQLException e) {e.printStackTrace();System.out.println("建立連接失敗");} finally {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}} } View Code3.使用Statement更新信息
package com.sql;/*** 使用Statement更新寵物*/ import java.sql.*;public class Demo1 {public static void main(String[] args) {Connection conn = null;PreparedStatement ps = null;Statement stmt = null;ResultSet rs = null;try {// 加載驅(qū)動(dòng)Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();System.out.println("建立連接失敗");}try {// 創(chuàng)建連接對(duì)象conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hello", "root", "123456");stmt = conn.createStatement();// 創(chuàng)建sql操作對(duì)象String sql = "update dog set health=140,love=100 where name='佩奇'";int t = stmt.executeUpdate(sql);if (t > 0)System.out.println("修改成功");// System.out.println("插入成功");} catch (SQLException e) {e.printStackTrace();System.out.println("建立連接失敗");} finally {try {conn.close();stmt.close();} catch (SQLException e) {e.printStackTrace();}}} } View Code4.用·Statement查詢(xún)信息
package com.sql;/*** 使用Statement查詢(xún)寵物*/ import java.sql.*;public class Demo1 {public static void main(String[] args) {Connection conn = null;Statement stmt = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hello", "root", "123456");stmt = conn.createStatement();rs = stmt.executeQuery("select * from dog");while (rs.next()) {System.out.print(rs.getString(1) + "\t");}} catch (Exception e) {e.printStackTrace();} finally {try {rs.close();// 結(jié)果集關(guān)閉stmt.close();// 語(yǔ)句關(guān)閉conn.close();// 連接關(guān)閉} catch (SQLException e) {e.printStackTrace();}}} } View Code?5.用prepaedStatement防止SQL注入
package com.sql;/*** 消除SQL注入隱患*/ import java.sql.*; import java.util.*;public class Demo1 {public static void main(String[] args) {Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hello", "root", "123456");System.out.println("*************************");System.out.println(" 寵物主人 ");System.out.println("*************************");Scanner input = new Scanner(System.in);System.out.println("輸入姓名");String name = input.next();System.out.println("輸入密碼");String pass = input.next();String sql = "select* from master where name=? and password=?";ps = conn.prepareStatement(sql);ps.setString(1, name);ps.setString(2, pass);System.out.println(sql);// 結(jié)果rs = ps.executeQuery();if (rs.next()) {System.out.println(rs.getString(1) + " " + rs.getString(2));} else {System.out.println("登陸失敗");}} catch (Exception e) {e.printStackTrace();} finally {try {rs.close();ps.close();conn.close();} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}}} } View Code?可以處理多條數(shù)據(jù):
package com.sql;import java.sql.*; import java.util.*;/*** @author Administrator 演示示例5:SQL注入隱患*/ public class Demo1 {public static void main(String[] args) {Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hello?useUnicode=true&characterEncoding=utf-8", "root", "123456");System.out.println("*************************");System.out.println(" 寵物主人 ");System.out.println("*************************");Map<String, String> paraMap = new HashMap<String, String>();paraMap.put("name", "王志");paraMap.put("password", "123456");String name = paraMap.get("name");String password = paraMap.get("password");String sql = "select * from master where 1=1 ";List<String> paraList = new ArrayList<String>();if (name != null && name.length() > 0) {sql += " and name = ? ";paraList.add(name);} // end of ifif (password != null && password.length() > 0) {sql += " and password = ? ";paraList.add(password);} // end of if System.out.println(sql);pstmt = conn.prepareStatement(sql);for (int i = 0; i < paraList.size(); i++) {// 逐條演繹System.out.println(paraList.get(i));pstmt.setObject(i + 1, paraList.get(i));}// 注意:使用預(yù)編譯語(yǔ)句不需要傳入sqlrs = pstmt.executeQuery();if (rs.next()) {// System.out.println(rs.getString(2));System.out.print("登錄成功,歡迎您");} else {System.out.print("登錄失敗");}} catch (Exception e) {e.printStackTrace();} finally {try {rs.close();pstmt.close();conn.close();} catch (SQLException e) {e.printStackTrace();}}} } View Code//標(biāo)準(zhǔn)版逐條演繹
package com.sql;import java.sql.*; import java.util.*;/*** @author Administrator 演示示例5:SQL注入隱患*/ public class Demo1 {public static void main(String[] args) {Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hello?useUnicode=true&characterEncoding=utf-8", "root", "123456");System.out.println("*************************");System.out.println(" 寵物主人 ");System.out.println("*************************");Map<String, String> paraMap = new HashMap<String, String>();//容器paraMap.put("name", "王志");paraMap.put("password", "123456");paraMap.put("name", "王志");paraMap.put("password", "123456");for(int nn=0;nn<paraMap.size();nn++){String name = paraMap.get("name");//獲取nameString password = paraMap.get("password");//獲取password String sql = "select * from master where 1=1 ";List<String> paraList = new ArrayList<String>();//String容器 存儲(chǔ)sql語(yǔ)句if (name != null && name.length() > 0) {sql += " and name = ? ";paraList.add(name);} // end of ifif (password != null && password.length() > 0) {sql += " and password = ? ";paraList.add(password);} // end of if System.out.println(sql);pstmt = conn.prepareStatement(sql);for (int i = 0; i < paraList.size(); i++) {// 逐條演繹System.out.println(paraList.get(i));pstmt.setObject(i + 1, paraList.get(i));}// 注意:使用預(yù)編譯語(yǔ)句不需要傳入sqlrs = pstmt.executeQuery();if (rs.next()) {// System.out.println(rs.getString(2));System.out.print("登錄成功,歡迎您");} else {System.out.print("登錄失敗");}}} catch (Exception e) {e.printStackTrace();} finally {try {rs.close();pstmt.close();conn.close();} catch (SQLException e) {e.printStackTrace();}}} } View Code6.使用PreparedStatement更新寵物?
package com.sql;import java.sql.*; import java.util.*;/*** @author Administrator 演示示例5:SQL注入隱患*/ public class Demo1 {public static void main(String[] args) {Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hello?useUnicode=true&characterEncoding=utf-8", "root", "123456");// 更新狗狗的數(shù)據(jù)到數(shù)據(jù)庫(kù)String sql = "update dog set health=?, love =?, strain=? where name='佩奇'";ps = conn.prepareStatement(sql);ps.setInt(1, 80);ps.setInt(2, 100);ps.setString(3, "小狗小狗");int t = ps.executeUpdate();if (t > 0) {System.out.println("成功");}} catch (Exception e) {e.printStackTrace();} finally {try {ps.close();// rs.close(); conn.close();} catch (SQLException e) {e.printStackTrace();}}} } View Code?
轉(zhuǎn)載于:https://www.cnblogs.com/helloworld2019/p/10806893.html
總結(jié)
- 上一篇: 17.splash_case02
- 下一篇: css 文字对齐