1. 程式人生 > >使用Java語言實現對MySQL資料庫的基本操作

使用Java語言實現對MySQL資料庫的基本操作

       在資料庫的使用中最為主要的就是對資料庫的增、刪、查、改操作,MySQL資料庫作為關係型資料庫的一種,其資料庫管理系統是由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管理系統) 應用軟體。
       MySQL所使用的 SQL 語言是用於訪問資料庫的最常用標準化語言。由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。

       採用java語言對資料庫操作是在做專案的過程中最為基本的技能,java在操作資料庫的過程相對比較簡單,整個流程大致分為以下幾個部分:

1. 載入資料庫驅動程式
2. 建立資料庫連線
3. 資料庫的基本操作
4. 關閉資料庫連線

       在本篇博文中將會記錄使用java語言實現對資料庫的基本操作以及具體的實現程式碼。

資料庫的查詢操作

 - 查詢全部記錄        : select * from <tablename> 
 - 查詢指令的語法格式為 : select <*/filed> select from
<tablename> where <field>=<key>;
- 模糊查詢(like為例) : select <*/field> form <tablename> where <field> like 'value%';

資料庫的插入操作

 - 插入全部欄位:insert into <tablename> values (value1,value2,value3);#表格中只有三個欄位
 - 插入部分欄位:insert into <tablename> (field1,field2,field3..) values
(value1,value2,value3..);

資料庫的刪除操作

 - 刪除某一條或者某一類記錄:delete from <tablename> where <condition>

資料庫的更新操作

 - 設定某一條或多條特定欄位的值:update <tablename> set <field>=<value> where <condition>;

       此外有時我們可能在起初建立表格的時候由於沒有考慮的那麼周全,我們在使用中發現需要新新增某一個或者多個欄位,那麼我們可以使用alert命令來在特定位置新增上我們需要新增的欄位。

 - 在指定的列後新增特定欄位:alter table <tablename> add column <colname> <coltype>;

       接下來,將使用java語言來實現資料庫的操作。

java操作資料庫類的定義

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
 * 根據所給出的使用者名稱和密碼,連線本地資料庫
 * 資料庫名稱  : study
 * 資料表名稱  : emp
 * 埠號     : 3306
 * 使用者名稱     : root
 * 密碼       : root
 */
public class MySQLDataBase {
    //宣告connection物件,儲存連線資料庫的引用
    private Connection con = null;;
    //儲存使用者名稱和密碼資訊
    private String username = null;
    private String password = null;

    public String getUsername() {
        return username;
    }
    public String getPassword() {
        return password;
    }
    public Connection getCon() {
        return con;
    }
    /**
     * 建立資料庫連線
     * @param username
     * @param password
     * @return
     */
    public Connection createConnector(String username,String password)
    {
        Connection conn = null;
        //資料庫連線驅動名:針對不同的資料庫,驅動名稱不同,但是同一種類型的資料庫改字串相同
        String driver = "com.mysql.jdbc.Driver";
        //URL指向要訪問的資料庫study,useSSL用來指明是否需要使用SSL協議,如果不指明將會報錯
        String url = "jdbc:mysql://localhost:3306/study?useSSL=true";
        try
        {
            //載入驅動程式
            Class.forName(driver);
            //連線資料庫
            conn = DriverManager.getConnection(url, username, password);
            //檢查資料庫連線是否成功
            if(!conn.isClosed())
            {
                System.out.println("Successed connecting to the Database!");
                //儲存當前連線的使用者的使用者名稱和密碼
                this.username = username;
                this.password = password;
                this.con = conn;
            }

        }catch (ClassNotFoundException e) {
            System.out.println("Sorry, can't find the Driver!");
        }catch(SQLException e){
            e.printStackTrace();
        }catch(Exception e){
            e.printStackTrace();
        }
        return conn;
    }
    /**
     * 斷開資料庫連線
     * @param conn
     * @return
     */
    public boolean close(Connection conn)
    {
        try {
            if(!conn.isClosed())
            {
                conn.close();
                return true;
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;
    }
    /**
     * 執行資料庫操作語句
     * @param con
     * @param query
     */
    public void query(Connection conn,String query)
    {
        //建立Statement物件,用來執行SQL語句
        Statement statement;
        try {
            statement = conn.createStatement();
            //需要執行的資料庫操作語句
            String sql = query;
            //執行資料庫操作語句並返回結果
            ResultSet rs = statement.executeQuery(sql);
            System.out.println("-------------------");
            System.out.println("---執行查詢結果如下所示---");
            System.out.println("-------------------");
            System.out.println("姓名"+"\t"+"年齡"+"\t"+"工資");

            String name = null;
            int age,sal;
            //列印查詢結果
            while(rs.next())
            {
                name = rs.getString("ename");
                age = rs.getInt("age");
                sal = rs.getInt("sal");
                System.out.println(name + "\t" + age + "\t" + sal);
            }
            rs.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    /**
     * 增加一條資料到指定資料庫的指定表中
     * @param conn
     * @param command
     */
    public boolean insert(Connection conn, String command)
    {
        Statement statement;
        try {
            statement = conn.createStatement();
            String sql = command;
            /**
             * Statement介面中的excuteUpdate()方法執行給定的
             * SQL語句,該語句可以是INSERT,UPDATE,DELETE語句
             */
            statement.executeUpdate(sql);
            return true;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }

    public boolean delete(Connection conn, String command)
    {
        Statement statement;
        try {
            statement = conn.createStatement();
            String sql = command;
            statement.executeUpdate(sql);
            return true;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }
    /**
     * 更新資料庫操作
     * @param conn
     * @param command
     * @return
     */
    public boolean updates(Connection conn, String command)
    {
        Statement statement;
        try {
            statement = con.createStatement();
            String sql = command;
            statement.executeUpdate(sql);
            return true;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }

}

java自定義資料庫類的使用

import java.sql.Connection;

public class app {

    /**
     * @param args
     */
    public static void main(String[] args) {
        System.out.println("Starting to connecting database ...");
        long startTime = System.currentTimeMillis();
        MySQLDataBase database = new MySQLDataBase();
        Connection con = database.createConnector("root", "root");
        //查詢
        database.query(con, "select * from emp");
        //插入
        database.insert(con, "insert into emp(ename,age,brith,hiredate,sal,deptno) values('Lina',19,'1998-01-01','2015-10-10',5000,3)");
        database.query(con, "select * from emp");
        //修改
        database.updates(con, "update emp set sal=8000 where ename='Lina'");
        database.query(con, "select * from emp");
        //刪除
        database.delete(con, "delete from emp where ename='Lina'");
        database.query(con, "select * from emp");

        if(database.close(con)){
            System.out.println("Data Base connection has been closed!");
        }
        long endTime = System.currentTimeMillis();
        System.out.println("Time consume : "+(endTime-startTime) + " ms");

    }

執行效果

Starting to connecting database ...
Successed connecting to the Database!
-------------------
---執行查詢結果如下所示---
-------------------
姓名  年齡  工資
Marry   20  10000
Tom 21  6000
Jhon    31  0
Anna    23  8000
Lucy    18  5000
-------------------
---執行查詢結果如下所示---
-------------------
姓名  年齡  工資
Marry   20  10000
Tom 21  6000
Jhon    31  0
Anna    23  8000
Lucy    18  5000
Lina    19  5000
-------------------
---執行查詢結果如下所示---
-------------------
姓名  年齡  工資
Marry   20  10000
Tom 21  6000
Jhon    31  0
Anna    23  8000
Lucy    18  5000
Lina    19  8000
-------------------
---執行查詢結果如下所示---
-------------------
姓名  年齡  工資
Marry   20  10000
Tom 21  6000
Jhon    31  0
Anna    23  8000
Lucy    18  5000
Data Base connection has been closed!
Time consume : 441 ms

相關推薦

使用Java語言實現MySQL資料庫基本操作

       在資料庫的使用中最為主要的就是對資料庫的增、刪、查、改操作,MySQL資料庫作為關係型資料庫的一種,其資料庫管理系統是由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型資料庫管理系統之一,在 WE

Java程式碼實現HBase的基本操作

概覽 1.匯入jar包 2.測試 3.異常處理 首先將HBase搭建完成,然後啟動Zookeeper,Hadoop,HBase叢集 1.匯入jar包 準備: 1.CentOS7 2.Zookeeper叢集 3.Hadoop2.7.3叢集 4.hbase2.0.0

Java程式碼實現hive的基本操作

1.匯入jar包 在eclipse上新建java專案,並在專案下建個lib資料夾,然後將jar包放到lib中匯入專案 hive的lib下的 將其全部匯入到專案中 2.測試 在你要測試的hive的主機的/usr/tmp建個student檔案,裡面放入一些

Java如何實現Mysql資料庫的行鎖

@Transactional @Override public boolean increaseBalanceByLock(Long userId, BigDecimal amount) throws ValidateException { long tim

jsp實現mysql資料庫操作

接上,在PersonDao.java中逐項完成方法。 PreparedStatement pmst; Connection conn; ResultSet rs; 增加資料: public int addPerson(Person p) { int i = 0;

Java實現mysql資料庫的備份和恢復

在java裡面使用 Java.lang.Runtime 執行系統系統執行環境裡面的命令,從而使用mysql自帶的備份及恢復工具達到對資料庫的備份和恢復package org.hinsteny.util; import java.io.File; import java.i

Spring+Maven+JdbcTemplate實現mysql資料庫操作

第一步匯入需要的maven: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-conte

Java實現mysql資料庫的增刪查改

前面我們已經講過如何實現對mysql資料庫的連線。最簡單的資料庫操作就是增刪查改。 其實對懂得實現對資料庫的連線,其餘的,對於一些簡單的操作都是很簡單的。 檢視資料 public static void show_info() throws ClassNotFoundExcept

java實現mysql資料庫連線

我們需要一個JDBC的庫檔案. 所謂JDBC是用於執行Sql語句的JAVA API,有了這個包就可簡單對mysql進行連線等操作。 首先,實現對資料庫的連線。 public class mysql_connect { static String sql; public st

java實現MongoDB的基本操作(增刪改查)

準備工作:要想用java實現對MongoDB的增刪改查,首先需要下載mongo的java驅動,mongo-java-driver-3.2.2, 下載地址:https://oss.sonatype.org/content/repositories/releases/org/m

JavaMySQL資料庫進行操作java

資料庫幾乎是每一個應用型的程式都會用到,學會如何高效操作資料庫也是開發一個重點。今天我總結了具體的操作步驟以及注意點。Java訪問資料庫主要用的方法是JDBC,它是java語言中用來規範客戶端程式如何來訪問資料庫的應用程式介面,提供了諸如查詢和更新資料庫中資料的方法,接下來

java實現MySql資料庫中資料的讀取、插入、修改和刪除

目標: 1、實現eclipse同資料庫的連線 2、在eclipse中用java實現對資料庫的控制 初學java和資料庫,本文是參考這篇文章的思路的學習筆記,程式碼實現了將4個控制函式(讀取、插入、修改和刪除)分別寫成4個靜態方法呼叫。 1. 關於java和MySQL的連

PDO mysql基本操作

con ins nsa http array 查詢 pan rom 錯誤 PDO擴展操作 <?php $dsn = ‘mysql:dbname=yii2;host=localhost‘; $user = ‘root‘; $password = ‘123456‘;

Flask中MySQL基本操作

_id onf 使用 info eat offset enter rac 圖片 在Flask-SQLAlchemy中,插入、修改、刪除操作,均由數據庫會話管理。 會話用 db.session 表示。在準備把數據寫入數據庫前,要先將數據添加到會話中然後調用 commit

mysql資料庫基本操作注意點

對於一個初學資料庫的人來說,最主要的還是要掌握DQL資料庫查詢語言和DML資料操作語言。 這裡主要對DQL進行簡單的總結,實質就是學習的筆記。 資料查詢語言基本的語句結構為select * from table_name; 1. 條件語句where關建字,支援多種運算子 比較運

Mysql 資料庫基本操作(1)

1、庫的管理 1)庫的基本操作: ①檢視所有庫:show databases; ②建立庫(指定字符集):create database 庫名 character

Node.js實現mysql資料庫的crud時報加密方式錯誤解決方案

本人在學習全棧開發過程中做一個Node的web專案在連線本地MySQL8.0版本的資料庫時,發現Navicat連線不上,它報了一個數據庫的加密方式導致連線不上的錯誤,錯誤如下: MySQL8.0版本的加密方式和MySQL5.0的不一樣,連線會報錯。 解決方法如下: 開啟mysql的命令列進入

MySQL資料庫基本操作知識------入門第二天

第二天啦。 解決中文亂碼問題:(資料庫(伺服器)使用utf8字符集,命令列(客戶端)使用gbk字符集時,亂碼) set names gbk  一些小細節:如果想退出當前語句:(反斜槓+c) 跳出執行 一些常見的報錯: 錯誤一:   這個報錯是:主鍵重複了。 

Hibernatemysql資料庫操作

hibernate相對於mybatis來說,他是一個重量級的框架,可能比mybatis更加讓人不能夠理解一點,但是如果你從開始首先接觸hibernate,那麼由深到淺就容易得多了。 用到hibernate,首先我們需要匯入hibernate所需要的jar包,或者用myecl

golang mysql資料庫基本操作筆記

mysql目前來說是使用最為流行的關係型資料庫,在程式設計過程中得到廣泛應用。golang操作mysql使用最多的包go-sql-driver/mysql。sqlx包是作為database/sql包的一個額外擴充套件包,在原有的database/sql加了很多擴