一、JDBC简介

1、JDBC是SUN公司为了简化操作数据推出一套规范。数据库厂商的驱动就是对JDBC的实现。

2、Java Data Base Connectivity(java数据库连接),它主要由接口组成。

  java.sql.*    javax.sql.*   JDK中

  数据库的驱动jar包 (mysql-connector-java-5.0.8-bin.jar )

二、JDBC的编码步骤

0、前提:拷贝数据库的驱动到构建路径中(classpath)

1、注册驱动

2、获取与数据库的链接

3、创建代表SQL语句的对象

4、执行SQL语句

5、如果是查询语句,需要遍历结果集

6、释放占用的资源

public class JdbcDemo1 {

  public static void main(String[] args) throws SQLException {
// 1、注册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
// 2、获取与数据库的链接
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/day15", "root", ""); //没有密码则“” 空
// System.out.println(conn.getClass().getName()); 要想知道具体类型,就这么办
// 3、创建代表SQL语句的对象
Statement stmt = conn.createStatement();
// 4、执行SQL语句
ResultSet rs = stmt.executeQuery("select id,name,password,email,birthday from users");
// 5、如果是查询语句,需要遍历结果集
while (rs.next()) {
System.out.println("---------------------");
System.out.println(rs.getObject("id"));
System.out.println(rs.getObject("name"));
System.out.println(rs.getObject("password"));
System.out.println(rs.getObject("email"));
System.out.println(rs.getObject("birthday"));
}
// 6、释放占用的资源
rs.close();
stmt.close();
conn.close();
  }
}

三、JDBC中常用的接口详解

1、DriverManager:

  作用:

    a、注册驱动:

    方式一:(不建议使用)

    DriverManager.registerDriver(new com.mysql.jdbc.Driver());

    原因:1、依赖具体驱动。2、导致驱动注册2遍

    方式二:(建议)

    Class.forName("com.mysql.jdbc.Driver");

    b、获取与数据库的链接

      url:SUN和数据库厂商间的协议。具体查阅数据库的文档。

      public static Connection getConnection(String url,String user,String password)

throws SQLException

      public static Connection getConnection(String url,Properties info)

throws SQLException

      public static Connection getConnection(String url)

throws SQLException

2、Connection

所有的数据库操作都是基于链接之上的。

Statement createStatement():创建向数据库发送sql的statement对象。

//2、获取与数据库的链接
//方式一:
//Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day15", "root", "sorry"); //方式二:
//Properties props = new Properties();
//props.setProperty("user", "root");// 参数名:参考数据库的文档
//props.setProperty("password", "sorry");
//props.setProperty("useUnicode", "true");//编码有关的参数
//props.setProperty("characterEncoding", "utf8");
//Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day15",props); //方式三
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day15?user=root&password=sorry");

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day15?user=root&password=");

3、Statement

Statement stmt = conn.createStatement();

作用:代表SQL语句对象。可以向数据库发送任何的SQL语句

ResultSet executeQuery(String sql):sql一般都是查询语句

int executeUpdate(String sql):sql一般是DML语句。insert update delete。返回值,操作几条记录。

boolean execute(String sql):sql可以是任意的语句。返回值不是代表成功与否。如果是查询语句,就有结果集,返回true。没有返回结果集的,返回false。

4、ResultSet

作用:封装了查询的结果集

aaarticlea/png;base64,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" alt="" />

ResultSet rs = stmt.executeQuery("select id,name,password,email,birthday from users");
List<User> users = new ArrayList<User>();
while(rs.next()){
  User user = new User();
  user.setId(rs.getInt("id"));
  user.setName(rs.getString("name"));
  user.setPassword(rs.getString("password"));
  user.setEmail(rs.getString("email"));
  user.setBirthday(rs.getDate("birthday"));
  users.add(user);
}

boolean next():游标下移。返回值是有无记录

boolean previous():游标上移。

boolean absolute(int count):定位到指定的行。第一行是1。

void beforeFirst():移动游标到第一行的前面。

void afterLast():移动游标到最后一行的后面。

四、释放占用的资源

//释放资源
//JDBC编码的代码模板
public class JdbcDemo5 {
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/day15", "root", "sorry");
stmt = conn.createStatement();
rs = stmt.executeQuery("select id,name,password,email,birthday from users");
List<User> users = new ArrayList<User>();
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setPassword(rs.getString("password"));
user.setEmail(rs.getString("email"));
user.setBirthday(rs.getDate("birthday"));
users.add(user);
}
} catch (Exception e) {
e.printStackTrace();
}
      finally {
if (rs != null) {
  try {
    rs.close();
  } catch (SQLException e) {
    e.printStackTrace();
       }
   rs = null;
}
if (stmt != null) {
  try {
    stmt.close();
  } catch (SQLException e) {
    e.printStackTrace();
  }
  stmt = null;
}
if (conn != null) {
  try {
    conn.close();
  } catch (SQLException e) {
    e.printStackTrace();
  }
  conn = null;
}
}   } }

五、JDBC进行CRUD(增刪改查)操作

工具類:

getConnection() return conn; 獲取連接

配置文件放在 dbcgf.properties 中
aaarticlea/png;base64,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" alt="" />
release () 施放資源
//工具类
public class JdbcUtil { private static String driverClass;
private static String url;
private static String user;
private static String password; static{
  try {
ClassLoader cl = JdbcUtil.class.getClassLoader();
InputStream in = cl.getResourceAsStream("dbcfg.properties");
Properties props = new Properties();
props.load(in);
driverClass = props.getProperty("driverClass");
url = props.getProperty("url");
user = props.getProperty("user");
password = props.getProperty("password"); Class.forName(driverClass);
} catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
} public static Connection getConnection() throws Exception{
  Connection conn = DriverManager.getConnection(url,user, password);
  return conn;
}
public static void release(ResultSet rs,Statement stmt,Connection conn){
  if(rs!=null){
try {
  rs.close();
} catch (SQLException e) {
  e.printStackTrace();
}
  rs = null;
}
if(stmt!=null){
try {
           stmt.close();
       } catch (SQLException e) {
    e.printStackTrace();
   }
  stmt = null;
}
if(conn!=null){
try {
  conn.close();
] catch (SQLException e) {
e.printStackTrace();
}
  conn = null;
}
}
}

測試:

package com.yif.jdbc;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement; import org.junit.Test;
import com.yif.util.JdbcUtil; public class JdbcDemo6 {
@Test
  public void testAdd(){
  Connection conn = null;
  Statement stmt = null;
  ResultSet rs = null;
  try{
    conn = JdbcUtil.getConnection();
    stmt = conn.createStatement();
    stmt.executeUpdate("insert into users (name,password,email,birthday) values ('范青霞','123','fqx@itcast.cn','2000-10-01')");
  }catch(Exception e){
    throw new RuntimeException(e);
  }finally{
    JdbcUtil.release(rs, stmt, conn);
  }
}
@Test
public void testUpdate(){
  Connection conn = null;
  Statement stmt = null;
  ResultSet rs = null;
  try{
    conn = JdbcUtil.getConnection();
    stmt = conn.createStatement();
    stmt.executeUpdate("update users set password=111 where id=4");
  }catch(Exception e){
    throw new RuntimeException(e);
  }finally{
    JdbcUtil.release(rs, stmt, conn);
  }
}
@Test
public void testDelete(){
  Connection conn = null;
  Statement stmt = null;
  ResultSet rs = null;
  try{
    conn = JdbcUtil.getConnection();
    stmt = conn.createStatement();
    stmt.executeUpdate("delete from users where id=1");
  }catch(Exception e){
    throw new RuntimeException(e);
  }finally{
    JdbcUtil.release(rs, stmt, conn);
  }
}
}

sql 注入 :

1、用户的表单输入域:防止一些特殊字符。

2、对密码加密:MD5加密

PreparedStatement接口

1、支持SQL的预编译。得到该对象时,就必须给他SQL语句。

2、支持参数占位符:  ?  一个问号代表着一个参数。

注:能用PreparedStatement就不要用Statement。

												

JavaWeb 后端 <八> 之 JDBC基礎(全)的更多相关文章

  1. JavaWeb 后端 <九> 之 JDBC加强

    一.大结果集的分页(重点,难点) 1.分批次查询:分页 2.基于数据库的分页:依赖的是数据库的分页语句(不同数据库是不同的) MySQL:每页显示10条. select * from XXX limi ...

  2. 邁向IT專家成功之路的三十則鐵律 鐵律八:IT人學習之道-基礎功

    修練過中國武術的人都知道,任何一種拳法的學習最重要的就是基礎功,而基礎功又可分為內在與外在的修練,內在的修練強調在平心.靜氣.不爭的調息.至於外在這首重在站樁.鬆沉.不疾不徐的應對能力.有了深厚基礎的 ...

  3. JavaScript基礎知識

    JavaScript基礎知識 1.標籤組使用 <script charset='utf-8' //設置字元集 defet //使腳本延遲到文檔解析完成,Browser已忽略 language=' ...

  4. BootStrap基礎知識

    BootStrap基礎知識 1. .lead //突出 .text-left //文字居左 .text-right //文字居右 .text-center //文字居中 .text-justify / ...

  5. CSS1-3基礎知識

    CSS1-3基礎知識 1.css排版 css在html內排版: <style type='text/css'> 標記名{} .類型名{} #ID名{} 標記名,.類型名,#ID名{} &l ...

  6. jQuery基礎知識

    jQuery基礎知識 $(function(){}) //jQuery先執行一遍再執行其他函數 $(document).ready(fn) //文檔加載完後觸發 1. 刪除$:jQuery.noCon ...

  7. JavaWeb后端jsp之增删改查

    今日主题:JavaWeb后端jsp之增删改查 实体类: Student.java: package cn.itcast.model.entity; public class Student { pri ...

  8. JavaWeb后端

    JavaWeb后端 我们学习JavaWeb的最终目的是为了搭建一个网站,并且让用户能访问我们的网站并在我们的网站上做一些事情. 计算机网络基础 在计算机网络(谢希仁 第七版 第264页)中,是这样描述 ...

  9. Python 基礎 - for流程判斷

    今天介紹另一個循環判斷式 for循環,首先,先寫一個很簡單的 for循環的代碼 #!/usr/bin/env python3 # -*- coding:utf-8 -*- for i in range ...

随机推荐

  1. 开涛spring3(12.4) - 零配置 之 12.4 基于Java类定义Bean配置元数据

    12.4  基于Java类定义Bean配置元数据 12.4.1  概述 基于Java类定义Bean配置元数据,其实就是通过Java类定义Spring配置元数据,且直接消除XML配置文件. 基于Java ...

  2. RColorBrewer的使用

    RColorBrewer是一个R包,使用http://colorbrewer2.org/这个网站提供的颜色.我们画一个包括八个box的boxplot时,或者在x-y散点图上画六条线时,该怎样选择颜色呢 ...

  3. 走进JavaScript——重拾对象

    创建对象 Object构造器的参数如果为空或null.undefined将返回一个空的Object对象,如果为其他值则调用相应的构造器,如 new Object() // Object {} new ...

  4. Struts2结合Ajax实现登录

    前言:Struts2作为一款优秀的MVC框架,和Ajax结合在一起,用户就会有良好的体验,本篇博文我们来模拟一个简单的登录操作,实现Ajax的异步请求,其中Struts2进行的是链接处理,Action ...

  5. cursor 属性

    鼠标 样式 default 默认光标(通常是一个箭头) auto 默认.浏览器设置的光标. crosshair 光标呈现为十字线. pointer 光标呈现为指示链接的指针(一只手) move 此光标 ...

  6. 深入探索C++对象模型(四)

    Function语意学(The Semantics of Function) static member functions不可能做到的两点:(1)直接存取nonstatic数据,(2)被声明为con ...

  7. shell多进程

    之前需要多进程程序都是python实现,闲来无事弄了下shell多进程,发现so easy(笑哭) 代码上: #!/bin/bash sleep 10 & sleep 5& wait ...

  8. js获取页面宽高

    网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offsetWidth ...

  9. c# networkcomms 3.0实现模拟登陆总结

    最近项目需要做一个客户查询状态系统,当前上位机缺少服务功能,于是找到了networkcomms 开源框架,作为项目使用. 最新版networkcomms 下载地址:https://github.com ...

  10. 安装npm及cnpm(Windows)

    [工具官网] Node.js : http://nodejs.cn/ 淘宝NPM: https://npm.taobao.org/ [安装步骤] 一.安装node.js 1.前往node.js官网下载 ...