日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java 第27章 JDBC

發布時間:2025/7/14 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 第27章 JDBC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?? JDBC 模版

? JDBC 的工作原理

?? JDBC API

???? 提供者:Sun公司

?? 內容:供程序員調用的接口與類,集成在java.sql 和javax.sql 包中,如:

???? DriverManager 類

???? Connection 接口

???? PreparedStatement 接口

???? ResultSet 接口

??? DriverManager

????? 提供者:Sun公司

???? 作用:管理各種不同的JDBC 驅動

???? JDBC 驅動

??? 提供者:數據庫廠商

????? 作用:負責連接各種不同的數據庫

? java 應用程序

??? JDBC API

?? JDBC Driver Manager

???? JDBC 驅動 --->sql server ? JDBC 驅動 ----> oracle

?? JDBC API

?JDBC API? 主要功能:與數據庫建立連接、執行SQL 語句、處理結果

?? 1、DriverManager

?? 2、Connection

?? 3、Statement

?? 4、ResultSet? ---> 4個步驟 !

DriverManager :依據數據庫的不同,管理JDBC驅動

Connection :負責連接數據庫并擔任傳送數據的任務?

PreparedStatement:由 Connection 產生、負責執行SQL語句

ResultSet:負責保存Statement執行后所產生的查詢結果

?

try {

????? class.forName( JDBC 驅動類);

???????? 1、加載JDBC 驅動

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

?? 2、與數據庫建立連接

?connection con=DriverManager.getConnection(URL,數據庫用戶名,密碼);

? //URL 用來標識數據庫

?PreparedStatement pstmt=con.PreparedStatement("查詢sql語句");

?ResultSet rs=pstmt.executeQuery();

? //執行SQL語句,并得到返回結果

?

?? while (rs.next()){

??? int x=rs.getint("a");

??? String s=rs.getString("b");

??? float f=rs.getFloat("c");

????? // 處理放回結果

}

? rs.close();

? pstmt.close();

? con.close(); //關閉連接

?? //釋放資源

???

?

package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;


public class Test1 {
?? ?

?? ?/**
?? ? * @param args
?? ? */
?? ?public static void main(String[] args) {
?? ??? ?Connection conn=null;
?? ??? ?PreparedStatement pstmt=null;
?? ??? ?ResultSet rst=null;
?? ??? ?
?? ??? try {
?? ??? ???? //1、加載驅動
?? ??? ??? Class.forName("com.mysql.jdbc.Driver");
?? ??? ???? //2、建立連接
?? ??? ? conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/nyschool?CharacterEncoding=UTF-8","root","root");
?? ??? ? //System.out.println("建立連接成功!!");
?? ??? ? //3、創建 prepareStatement 接口并編譯 sql語句
?? ??? ? //pstmt=conn.prepareStatement("select * from student");
?? ??? ? //執行刪除
?? ??? ? Scanner input=new Scanner(System.in);
?? ??? ? //System.out.print("請輸入要刪除的學生學號:");
?? ??? ? //int stuNo=input.nextInt();
?? ??? ? //兩種方法:
?? ??? ? //方法1:String sql="DELETE? FROM student WHERE stuNo="+stuNo;
???????? //方法2:String sql="DELETE? FROM student WHERE stuNo=7";
?? ??? ?
?? ??? ? //執行添加
?? ??? ? System.out.print("請輸入添加的學員的編號:");
?? ??? ?? int stuNo=input.nextInt();
?? ??? ?? System.out.print("請輸入添加學員的性別:");
?? ??? ?? String name=input.next();
?? ??? ?? System.out.print("請輸入添加的地址:");
?? ??? ?? String phone=input.next();
?? ??? ?? //
?? ??? ? String sql="INSERT INTO student VALUES (?,'a2323','qq',?,1,?,'江西南昌',SYSDATE(),'qq.com')";
?? ??? ? pstmt=conn.prepareStatement(sql); //預編譯方式
?? ??? ?? //給占位符賦值
?? ??? ? pstmt.setInt(1, stuNo);
?? ??? ? pstmt.setString(2, name);
?? ??? ? pstmt.setString(3, phone);
?? ??? ? System.out.print("sql:"+sql);
?? ??? ? //4、執行SQL語句,并得到返回結果
?? ??? ? //rst=pstmt.executeQuery(); //執行查詢
?? ??? ? int num=pstmt.executeUpdate(); //執行增刪改
?? ??? ?? //5、處理返回結果
?? ??? ?? if(num>0){
?? ??? ??? ?? System.out.println("\n添加成功!");
?? ??? ?? }else{
?? ??? ??? ?? System.out.println("\n添加失敗!");
?? ??? ?? }
?? ??? ?
?? ??? ??? ?while (rs.next()){

??? int x=rs.getint("a");

??? String s=rs.getString("b");

??? float f=rs.getFloat("c");

????? // 處理放回結果


?? ??? ??? ?
?? ??? ?} catch (ClassNotFoundException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?}catch (SQLException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?
?? ??? ?}

轉載于:https://www.cnblogs.com/hanxiaowen/p/5601808.html

總結

以上是生活随笔為你收集整理的Java 第27章 JDBC的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。