在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ Java連接SQLite數(shù)據(jù)庫(kù)
SQLite觸發(fā)器(刪除之前/之后)
SQLite Union All操作符
SQLite快速入門
SQLite LIMIT子句
SQLite更新查詢
SQLite插入查詢
SQLite創(chuàng)建數(shù)據(jù)庫(kù)
SQLite datetime()函數(shù)
SQLite now函數(shù)和時(shí)間格式化
SQLite左連接
SQLite AVG()函數(shù)
SQLite交叉連接(Cross Join)
SQLite運(yùn)算符
SQLite ORDER BY子句
SQLite聚合函數(shù)
SQLite Union操作符
SQLite是什么?
SQLite安裝
PHP連接SQLite數(shù)據(jù)庫(kù)
SQLite命令大全
SQLite LIKE子句
SQLite OR子句
SQLite內(nèi)連接(Inner Join)
SQLite日期和時(shí)間
SQLite WHERE子句
SQLite刪除表
Python連接SQLite數(shù)據(jù)庫(kù)
SQLite刪除觸發(fā)器
SQLite優(yōu)點(diǎn)和缺點(diǎn)
SQLite連接(JOIN子句)
SQLite數(shù)據(jù)類型
SQLite外連接(Outer Join)
SQLite COUNT()函數(shù)
SQLite主鍵
SQLite觸發(fā)器(插入之前/之后)
SQLite HAVING子句
SQLite IN運(yùn)算符
SQLite選擇查詢
SQLite date()函數(shù)
SQLite MAX()函數(shù)
SQLite刪除查詢
SQLite分離數(shù)據(jù)庫(kù)
SQLite教程
SQLite GLOB子句
SQLite MIN()函數(shù)
SQLite導(dǎo)入數(shù)據(jù)
SQLite GROUP BY子句
SQLite表達(dá)式
SQLite語(yǔ)法大全
SQLite外鍵
SQLite觸發(fā)器
SQLite導(dǎo)出數(shù)據(jù)
SQLite juliandday()函數(shù)
SQLite創(chuàng)建表
Java連接SQLite數(shù)據(jù)庫(kù)
SQLite SUM()函數(shù)
SQLite特性/為什么要使用SQLite?
SQLite觸發(fā)器(更新之前/之后)
SQLite strftime()函數(shù)日期日間格式化
SQLite附加/選擇數(shù)據(jù)庫(kù)
SQLite DISTINCT子句
SQLite歷史
SQLite time()函數(shù)

Java連接SQLite數(shù)據(jù)庫(kù)

要使用java程序連接SQLite,并與SQLite進(jìn)行數(shù)據(jù)存取操作,必須在系統(tǒng)上設(shè)置SQLite JDBC驅(qū)動(dòng)程序和安裝Java JDK。按照以下步驟進(jìn)行:

  • 從sqlite-jdbc存儲(chǔ)庫(kù)下載最新版本的sqlite-jdbc-(VERSION).jar。
  • 將下載的jar文件添加到類路徑。
  • 使用java連接到SQLite數(shù)據(jù)庫(kù)。

1. 連接到SQLite數(shù)據(jù)庫(kù)

打開Eclipse IDE,創(chuàng)建一個(gè)JAVA工程:JavaWithSQLite,下載所需的sqlite-jdbc-(VERSION).jar(下載地址:http://bitbucket.org/xerial/sqlite-jdbc/downloads/ 或者 http://mvnrepository.com/artifact/org.xerial/sqlite-jdbc/3.18.0 ),并將它放入到項(xiàng)目的類庫(kù)中。

使用以下代碼使用Java編程語(yǔ)言連接到SQLite數(shù)據(jù)庫(kù),首先創(chuàng)建一個(gè)類:ConnectSQLite.java,其代碼如下所示 -

package com.yiibai;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectSQLite {
    /**
     * Connect to a sample database
     */
    public static void connect() {
        Connection conn = null;
        try {
            // db parameters
            String url = "jdbc:sqlite:D:/software/sqlite/java-sqlite.db";
            // create a connection to the database
            conn = DriverManager.getConnection(url);

            System.out.println("Connection to SQLite has been established.");

        } catch (SQLException e) {
            System.out.println(e.getMessage());
        } finally {
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException ex) {
                System.out.println(ex.getMessage());
            }
        }
    }

    /**
     * @param args
     *            the command line arguments
     */
    public static void main(String[] args) {
        connect();
    }
}

執(zhí)行上面代碼后,應(yīng)該會(huì)創(chuàng)建一個(gè)文件:D:/software/sqlite/java-sqlite.db,并與數(shù)據(jù)庫(kù)java-sqlite.db連接。

使用java創(chuàng)建數(shù)據(jù)庫(kù)

還可以使用java編程語(yǔ)言在SQLite中創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)。假設(shè)要使用Java來(lái)創(chuàng)建一個(gè)名為java_sqlite.db的數(shù)據(jù)庫(kù)。創(chuàng)建一個(gè)公共類:CreateDB.java并使用以下代碼:

package com.yiibai;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;

public class CreateDB {

    public static void createNewDatabase(String fileName) {

        String url = "jdbc:sqlite:" + fileName;

        try {
            Connection conn = DriverManager.getConnection(url);
            if (conn != null) {
                DatabaseMetaData meta = conn.getMetaData();
                System.out.println("The driver name is " + meta.getDriverName());
                System.out.println("A new database has been created.");
            }

        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
    }

    public static void main(String[] args) {
        createNewDatabase("D:/software/sqlite/create-db.db");
    }
}

執(zhí)行上面代碼,得到以下結(jié)果 -

The driver name is SQLiteJDBC
A new database has been created.

現(xiàn)在創(chuàng)建一個(gè)名為“create-db.db”的新數(shù)據(jù)庫(kù)。可以看到對(duì)應(yīng)創(chuàng)建目錄有一個(gè)文件:create-db.db存在。

使用java創(chuàng)建一個(gè)表

假設(shè)要通過(guò)Java程序在SQLite中創(chuàng)建一個(gè)名為tb_emp的表,tb_emp表具有id,namecapacity這三列。首先創(chuàng)建一個(gè)Java類:CreateTable.java,并使用以下代碼:

package com.yiibai;

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

public class CreateTable {

    public static void createNewTable() {
        // SQLite connection string
        String url = "jdbc:sqlite:D:/software/sqlite/java-sqlite.db";

        // SQL statement for creating a new table
        String sql = "CREATE TABLE IF NOT EXISTS employees (\n" + " id integer PRIMARY KEY,\n"
                + " name text NOT NULL,\n" + " capacity real\n" + ");";

        try {
            Connection conn = DriverManager.getConnection(url);
            Statement stmt = conn.createStatement();
            stmt.execute(sql);
            System.out.println("Create table finished.");
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
    }

    /**
     * @param args
     *            the command line arguments
     */
    public static void main(String[] args) {
        createNewTable();
    }

}

執(zhí)行上面代碼,得到以下結(jié)果 -

Create table finished.

執(zhí)行上面代碼后,將在java-sqlite.db數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)名稱為:employees 的表。

向表中插入記錄

創(chuàng)建表后,使用以下代碼在表中插入一些記錄。 創(chuàng)建一個(gè)新的Java類:InsertRecords,具有以下代碼:

package com.yiibai;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class InsertRecords {

    private Connection connect() {
        // SQLite connection string
        String url = "jdbc:sqlite:D:/software/sqlite/java-sqlite.db";
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(url);
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
        return conn;
    }

    public void insert(String name, double capacity) {
        String sql = "INSERT INTO employees(name, capacity) VALUES(?,?)";

        try {
            Connection conn = this.connect();
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, name);
            pstmt.setDouble(2, capacity);
            pstmt.executeUpdate();
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
    }

    public static void main(String[] args) {

        InsertRecords app = new InsertRecords();
        // insert three new rows
        app.insert("Maxsu", 30000);
        app.insert("Minsu", 40000);
        app.insert("Miswong", 50000);
        System.out.println("Insert data finished.");
    }

}

現(xiàn)在記錄被插入到表中。 可以使用SELECT命令查看它:

sqlite> .open java-sqlite.db
sqlite> .tables
employees
sqlite> select * from employees;
id,name,capacity
1,Maxsu,30000.0
2,Minsu,40000.0
3,Miswong,50000.0
sqlite>
sqlite>

查詢/選擇記錄

要使用Java程序從表中選擇/查詢記錄,請(qǐng)使用以下代碼。 創(chuàng)建一個(gè)新的Java類 - SelectRecords.java,使用以下代碼 -

package com.yiibai;

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

public class SelectRecords {

    private Connection connect() {
        // SQLite connection string
        String url = "jdbc:sqlite:D:/software/sqlite/java-sqlite.db";
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(url);
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
        return conn;
    }

    public void selectAll() {
        String sql = "SELECT * FROM employees";

        try {
            Connection conn = this.connect();
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            // loop through the result set
            while (rs.next()) {
                System.out.println(rs.getInt("id") + "\t" + rs.getString("name") + "\t" + rs.getDouble("capacity"));
            }
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
    }

    /**
     * @param args
     *            the command line arguments
     */
    public static void main(String[] args) {
        SelectRecords app = new SelectRecords();
        app.selectAll();
    }

}

執(zhí)行上面代碼,得到以下結(jié)果 -

注意: 因?yàn)槎际峭ㄟ^(guò)使用相同的編程過(guò)程,所以您可自己編寫其它數(shù)據(jù)庫(kù)操作,比如:更新和刪除表中的數(shù)據(jù)等等。