1. 程式人生 > >JDBC 實現 資料庫的增刪改查

JDBC 實現 資料庫的增刪改查

沒有 JDBC和ODBC 之前,訪問不同資料庫需要編寫相應的資料庫訪問程式,ODBC 使得訪問連結資料庫的介面統一,訪問不同資料庫的 API 一致。

JDBC 是 Java Database Connector,JDBC API 主要供開發人員使用,JDBC Driver API 主要供底層 資料庫 開發人員使用,用於設計與具體資料庫的介面。

JDBC 實現的流程

載入驅動 —— 載入資料庫驅動,一般是Class.forName方法實現;

開啟連結 —— 開啟資料庫連結,引數包括資料庫 URL 、Name 和 pwd;

執行查詢 —— 執行資料庫查詢語句;

處理結果 —— 處理資料庫查詢結果;

清理環境 —— 清理資料庫環境,依次關閉開啟的 API;

下面將展示資料庫 MySQL 和 Eclipse 下的 資料庫對資料的 增刪改查程式碼

create table tbl_user(
id int(11) unsigned not null auto_increment,
name varchar(50) not null default '',
password varchar(50) not null default '',
email varchar(50) default '',
primary key (id))
engine = InnoDB
default charset = utf8;

create table tbl_address(
id int(11) unsigned not null auto_increment,
city varchar(20) default null,
country varchar(20) default null,
user_id int(11) unsigned not null,
primary key(id))
engine = innodb
default charset = utf8;

insert into tbl_user(id,name,password,email) values
(1,'xiaoming','123456','
[email protected]
'), (2,'xiangzhang','123456','[email protected]'); insert into tbl_address (city,country,user_id) values ('beijing','china',1); insert into tbl_address (city,country,user_id) values ('tianjin','china',2);

package jdbc_Pack_003;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/*
jdbc 的執行順序:
	1.載入驅動
	2.開啟連結
	3.執行查詢
	4.處理結果
	5.清理環境
 */
public class JDBC_Pack_003 {
	public static void main(String[] args) {
		String sql = "select * from tbl_user";
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		try {
//			Class 和其他類一樣繼承自 Obj 類,不同的是 它還封裝了 被封裝到 JVM 之中的類的資訊,類的成員變數,
//			類的成員方法,類的實現介面或者父類 等等 
//			forName 用來初始化引數指定的類,並建立一個例項化物件
//			此處的引數 是 jdbc 中的 MySQL 的驅動程式
			Class.forName("com.mysql.jdbc.Driver");
//			localhost 是伺服器主機,3360 是主機埠,test 是DB的名字
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","1233211234567");
			st = conn.createStatement();
			rs = st.executeQuery(sql);
			while (rs.next()) {
				System.out.print(rs.getInt("id")+"   ");
				System.out.print(rs.getString("name")+"   ");
				System.out.print(rs.getString("email")+"   ");
				System.out.println();				
			}
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println(e.getMessage());
		}finally{
			try {
				rs.close();
				st.close();
				conn.close();
			} catch (Exception e) {
				// TODO: handle exception
				System.out.println(e.getMessage());
			}
		}
	}
}

package jdbc_Pack_004;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class JDBC_Cls_004 {
	public static Connection getConnection(){
		Connection connection = null;
		try{
			Class.forName("com.mysql.jdbc.Driver");
			connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db","root","1233211234567");
			}
		catch(Exception e){
			e.printStackTrace();
		}
		return connection;
	} 
	
	public static void insert(){
		Connection connection = getConnection();
		try {
			String sql = "INSERT INTO tbl_user(name,password,email)VALUES('Tom','123456','[email protected]')";
			Statement statement = (Statement) connection.createStatement();
			int count = statement.executeUpdate(sql);
			System.out.println("使用者向表中插入了"+count+"條記錄 !");
			connection.close();
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
	
	public static void update(){
		Connection connection = getConnection();
		try {
			String sql = "UPDATE tbl_user SET email='[email protected]' WHERE name='Tom'";
			Statement statement = (Statement) connection.createStatement();
			int count = statement.executeUpdate(sql);
			System.out.println("使用者向表中更新了"+count+"條記錄 !");
			connection.close();
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
	
	public static void delete(){
		Connection connection = getConnection();
		try {
			String sql = "DELETE FROM tbl_user WHERE name='Tom'";
			Statement statement = (Statement) connection.createStatement();
			int count = statement.executeUpdate(sql);
			System.out.println("使用者向表中刪除了"+count+"條記錄 !");
			connection.close();
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
	
	public static void main(String []args) {
//		insert();
//		update();
		delete();
	}
}


相關推薦

Web介面實現資料庫刪改過程

實現方法:JSP+Servlet+JavaBean 基本實現思想:jsp檔案為顯示介面,包括增刪改查四個介面,然後使用form或者href超連結的方法將網頁獲得的值傳到Servlet中的方法裡;而servlet方法中呼叫dao層裡面的包括增刪改查等方法的物件,以此實現對資料庫裡面的資料的增刪改查,最後返回頁

Kotlin整合Spring Boot實現資料庫刪改(mybatis版)

前幾天由於工作需要,便開始學習了kotlin,java基礎紮實學起來也還算比較快,對於kotlin這個程式語言自然是比java有趣一些,因此就有了使用kotlin搭建基於spring boot的開發環境。這次先分享mybatis版本的 1 maven的pom檔案 <

Kotlin整合Spring Boot實現資料庫刪改(spring data jpa版)

接上次的kotlin整合spring boot的mybatis版本,這次分享的內容也很精彩,現在spring data jpa也慢慢流行起來了,因此學習kotlin的時候也順帶寫了spring data jpa版本的,下面就直接上程式碼分享給大家了 1 pom加入如下配置

JDBC實現簡單刪改

public class jdbcTest { /** * 建立表 */ public static void createTable() throws SQLException{ String sql = "CREATE TABLE IF NOT EXISTS `user`("

pymysql連線資料庫,實現資料庫刪改

1.資料庫連線 # 建立連線 def create_conn(): import pymysql conn = pymysql.connect( host='localhost', port=3306, user='root'

基於ajax的三層,實現資料庫刪改基礎(一DAL)

  三層的組成就是DAL,BLL,UI層和Model層。其中的DAL層是與資料庫連結,需要引用Model層,進行對資料的操作,但我們一般在此層不進行資料的處理。BLL層負責引用DAL和MODEL層,在

jsp+servlet+jdbc實現簡單刪改

今天在程式設計的時候又重新往前面學習jsp+servlet+jdbc做了一個小案例,希望能夠程式猿們一點小啟發,下篇部落格會介紹在這個程式設計中可能遇到的問題。首先我們開始今天的案例; 首先所需要工具 ,以及開發環境 eclipse+mysql5.1+navicat fo

Android中內容提供者ContentProvider實現資料庫刪改

1.我們首先new一個我們自己的類整合ContentProvider,並實現方法如下 package com.wzw.sqllitedemo.providers; import com.wzw.sqllitedemo.db.PersonSQLiteOpenHelper;

java實現mysql資料庫刪改

1.連線資料庫: import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { static String driver = "com.mysql.jdbc.Driver"; s

JDBC的簡單刪改實現

這裡我們先在資料庫建立一個userinfo表: CREATE TABLE  userinfo (     userid` INT (11),     userName  VARCHAR (180),  &n

JAVA之操作資料庫刪改-JDBC的使用

一。準備工作: 1.操作資料庫的JDBC.jar包,下載地址:http://download.csdn.net/detail/qq_33750826/9671725 2.如果你的電腦為安裝mysql請安裝mysql,下載地址:http://download.

Laravel使用ORM實現操作資料庫刪改

我在下一篇部落格會發布關於orm的一個知識瞭解 要了解比全方面的可以看laravel文件:https://laravel-china.org/docs/laravel/5.5/eloquent/1332 或者看我前面的幾個部落格的基礎操作 進行了解  這下面只是給出了一個

jdbc封裝mySQL資料庫刪改

package com.bdqn.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Resul

SpringBoot框架整合SSM實現簡單資料庫刪改

首先建立一個Maven工程 第一步:選擇Maven專案建立結構 第二步:配置專案屬性 點選finish即可完成建立 再來看一下專案的目錄 然後配置pom.xml依賴檔案  <?xml version="1.0" encoding="U

JqueryEasyUI實現CRUD刪改操作

per queryall call .get field string cal upd wid 1.代碼介紹: 前端界面由jsp,JqueryEasyUI制作,後臺代碼由Servlet實現邏輯操作 註:JqueryEasyUI的庫文件和其他自己jar包自己導入。Jquery

Java操作數據庫實現"刪改"

mysq 新的 rom 可用 erp catch next() value eight 本文主要講解JDBC操作數據庫 主要實現對MySql數據庫的"增刪改查" 綜合概述: JDBC的常用類和接口 一 DriverManager類 DriverManage類用

32、mysql資料庫刪改

建立資料庫 CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] [CHARACTER SET=''] [DEFAULT] [COLLATE=''] IF NOT EXISTS 指定資料庫不存在的時候才建立 CHARACTER SET=

flask和django區別--資料庫刪改的區別

flask和django都是一樣的,在你建立了資料模型之後,兩個框架都會給你資料庫操作的api,供你使用;(create retrieve update delete) 假設我們有一個User類 增加(插入): 對於flask的插入分為三步走的情況: 1:建立python 物件;也就

listview展示網路資料+網路圖片+資料庫刪改+fragment

MainActivity package com.bwie.renzhili; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import andr

Oracle-資料庫刪改基本操作

一、建立資料表 1).建立不存在的新表:  create table tname(   Data_Name Date_Type [default][預設值]  ); 2).建立已存在表的副本  create table emp1 as selec