使用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
Java對MySQL資料庫進行操作【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) 跳出執行 一些常見的報錯: 錯誤一: 這個報錯是:主鍵重複了。
Hibernate對mysql資料庫的操作
hibernate相對於mybatis來說,他是一個重量級的框架,可能比mybatis更加讓人不能夠理解一點,但是如果你從開始首先接觸hibernate,那麼由深到淺就容易得多了。 用到hibernate,首先我們需要匯入hibernate所需要的jar包,或者用myecl
golang mysql資料庫基本操作筆記
mysql目前來說是使用最為流行的關係型資料庫,在程式設計過程中得到廣泛應用。golang操作mysql使用最多的包go-sql-driver/mysql。sqlx包是作為database/sql包的一個額外擴充套件包,在原有的database/sql加了很多擴