java操作mysql應用實例,java操作mysql數據庫

本文目錄一覽:

MYSQL在JAVA中的使用問題

while (result.next())

改成 hashnext();

ArrayList list = dao.select(sql);

Iterator iterator = list.iterator();

while(iterator.hasNext()){

oram.FlowEvent t =(oram.FlowEvent)iterator.next();

out.println(t.getEventId()+” “+t.getByname()

類似這樣 就不會溢出了

如何在Java程序中訪問mysql數據庫中的數據並進行簡單的操作

必須用JDBC技術。Mysql中實現了JDBC中的方法。具體的實現代碼如下:

package com.itheima.jdbc;

import java.io.IOException;

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Properties;

/**

* 創建數據庫連接

*

* @author 長孫建坤 18092853734

* @version 2017-04-26 20:41:35

*/

public class JDBCTest02 {

public void demo(){

System.out.println(“ddd”);

}

public static void main(String[] args) {

InputStream config = JDBCTest02.class.getClassLoader().getResourceAsStream(“jdbc.properties”);

Properties pro = new Properties();

try {

pro.load(config);

String driver = pro.getProperty(“driver”);

Class.forName(driver);

String username = pro.getProperty(“user”);

String password = pro.getProperty(“password”);

String url = pro.getProperty(“url”);

Connection con = DriverManager.getConnection(url, username, password);

String sql = “select * from perinfo”;

PreparedStatement pst = con.prepareStatement(sql);

ResultSet set = pst.executeQuery();

while(set.next()){

System.out.println(set.getString(2));

}

String del = “DELETE FROM perinfo WHERE pid = ?”;

pst.setObject(1, 5);

int update = pst.executeUpdate(del);

System.out.println(update);

} catch (IOException e) {

new RuntimeException(e + “配置文件讀取失敗!”);

} catch (SQLException e) {

new RuntimeException(e + “連接獲取失敗!”);

} catch (ClassNotFoundException e) {

new RuntimeException(e + “類文件加載失敗!”);

}

}

}

通過java操作執行mysql的問題

首先正確安裝好MySQL,建立好數據庫studentinfo

mysqlcreate database studentinfo;

然後編寫java代碼,ConnectToMySQL.java

import java.sql.*;

public class ConnectToMySQL {

public static Connection getConnection() throws SQLException ,

java.lang.ClassNotFoundException{

String url = “jdbc:mysql://localhost:3306/studentinfo”;

Class.forName(“com.mysql.jdbc.Driver”);

String userName = “root”;

String password = “”;

Connection con = DriverManager.getConnection(url,userName,password);

return con;

}

public static void main(String[] args) {

try{

Connection con = getConnection();

Statement sql = con.createStatement();

sql.execute(“drop table if exists student”);

sql.execute(“create table student(id int not null auto_increment,name varchar(20) not null default ‘name’,math int not null default 60,primary key(id));”);

sql.execute(“insert student values(1,’AAA’,’99’)”);

sql.execute(“insert student values(2,’BBB’,’77’)”);

sql.execute(“insert student values(3,’CCC’,’65’)”);

String query = “select * from student”;

ResultSet result = sql.executeQuery(query);

System.out.println(“Student表數據如下:”);

System.out.println(“———————————“);

System.out.println(“學號”+” “+”姓名”+” “+”數學成績”);

System.out.println(“———————————“);

int number;

String name;

String math;

while(result.next()){

number = result.getInt(“id”);

name = result.getString(“name”);

math = result.getString(“math”);

System.out.println(number + ” ” + name + ” ” + math);

}

sql.close();

con.close();

}catch(java.lang.ClassNotFoundException e){

System.err.println(“ClassNotFoundException:” + e.getMessage());

}catch(SQLException ex){

System.err.println(“SQLException:” + ex.getMessage());

}

}

}

很詳細了。

Java中對數據庫操作實例

可以以普通的jdbc連接的使用習慣來使用連接池。 數據庫連接池在編寫應用服務是經常需要用到的模塊,太過頻繁的連接數據庫對服務性能來講是一個瓶頸,使用緩衝池技術可以來消除這個瓶頸。我們可以在互聯網上找到很多關於數據庫連接池的源程序,但是都發現這樣一個共同的問題:這些連接池的實現方法都不同程度地增加了與使用者之間的耦合度。很多的連接池都要求用戶通過其規定的方法獲取數據庫的連接,這一點我們可以理解,畢竟目前所有的應用服務器取數據庫連接的方式都是這種方式實現的。但是另外一個共同的問題是,它們同時不允許使用者顯式的調用Connection.close()方法,而需要用其規定的一個方法來關閉連接。這種做法有兩個缺點:第一:改變了用戶使用習慣,增加了用戶的使用難度。首先我們來看看一個正常的數據庫操作過程:int executeSQL(String sql) throws SQLExceptionfinallycatch(Exception e)catch(Exception e)return res;}使用者在用完數據庫連接後通常是直接調用連接的方法close來釋放數據庫資源,如果用我們前面提到的連接池的實現方法,那語句conn.close()將被某些特定的語句所替代。第二:使連接池無法對之中的所有連接進行獨佔控制。由於連接池不允許用戶直接調用連接的close方法,一旦使用者在使用的過程中由於習慣問題直接關閉了數據庫連接,那麼連接池將無法正常維護所有連接的狀態,考慮連接池和應用由不同開發人員實現時這種問題更容易出現。綜合上面提到的兩個問題,我們來討論一下如何解決這兩個要命的問題。首先我們先設身處地的考慮一下用戶是想怎麼樣來使用這個數據庫連接池的。用戶可以通過特定的方法來獲取數據庫的連接,同時這個連接的類型應該是標準的java.sql.Connection。用戶在獲取到這個數據庫連接後可以對這個連接進行任意的操作,包括關閉連接等。通過對用戶使用的描述,怎樣可以接管Connection.close方法就成了我們這篇文章的主題。為了接管數據庫連接的close方法,我們應該有一種類似於鉤子的機制。例如在Windows編程中我們可以利用Hook API來實現對某個Windows API的接管。在JAVA中同樣也有這樣一個機制。JAVA提供了一個Proxy類和一個InvocationHandler,這兩個類都在java.lang.reflect包中。我們先來看看SUN公司提供的文檔是怎麼描述這兩個類的。public interface InvocationHandlerInvocationHandler is the interface implemented by the invocation handler of a proxy instance. Each proxy instance has an associated invocation handler. When a method is invoked on a proxy instance, the method invocation is encoded and dispatched to the invoke method of its invocation handler.SUN的API文檔中關於Proxy的描述很多,這裡就不羅列出來。通過文檔對接口InvocationHandler的描述我們可以看到當調用一個Proxy實例的方法時會觸發Invocationhanlder的invoke方法。從JAVA的文檔中我們也同時了解到這種動態代理機制只能接管接口的方法,而對一般的類無效,考慮到java.sql.Connection本身也是一個接口由此就找到了解決如何接管close方法的出路。首先,我們先定義一個數據庫連接池參數的類,定義了數據庫的JDBC驅動程序類名,連接的URL以及用戶名口令等等一些信息,該類是用於初始化連接池的參數,具體定義如下:public class ConnectionParam implements Serializable /** * 從連接池工廠中獲取指定名稱對應的連接池

如何用java連接mysql數據庫

Java要連接數據庫,那麼首先你必須安裝mysql數據庫。

安裝好mysql之後,安裝JDK了。

安裝好JDK之後,就是安裝Eclipse了,要支持JDK版本,Eclipse安裝的時候會自動去找JDK安裝位置的,解壓版的Eclipse,就要配置eclipse.ini文件了,將對應的JDK配置好,這些已經準備就緒的時候,就到mysql中創建數據庫和表。

先創建數據庫:

CREATE DATABASE SCUTCS;

接着,創建表:

CREATE TABLE STUDENT

(

SNO CHAR(7) NOT NULL,

SNAME VARCHAR(8) NOT NULL,

SEX CHAR(2) NOT NULL,

BDATE DATE NOT NULL,

HEIGHT DEC(5,2) DEFAULT 000.00,

PRIMARY KEY(SNO)

);

然後插入數據,可以用SQL語句insert into 表名 values (value1, value2, …);

編寫.java文件來演示一下如何訪問MySQL數據庫。

import java.sql.*;

public class JDBCTest {

public static void main(String[] args){

// 驅動程序名 String driver = “com.mysql.jdbc.Driver”;

// URL指向要訪問的數據庫名scutcs String url = “jdbc:mysql://127.0.0.1:3306/scutcs”;

// MySQL配置時的用戶名 String user = “root”; // MySQL配置時的密碼 String password = “root”;

try { // 加載驅動程序 Class.forName(driver);

// 連續數據庫 Connection conn = DriverManager.getConnection(url, user, password);

if(!conn.isClosed()) System.out.println(“Succeeded connecting to the Database!”);

// statement用來執行SQL語句 Statement statement = conn.createStatement();

// 要執行的SQL語句 String sql = “select * from student”;

// 結果集 ResultSet rs = statement.executeQuery(sql);

while(rs.next()) // 選擇sname這列數據 name = rs.getString(“sname

// 輸出結果 System.out.println(rs.getString(“sno”) + “\t” + name); }

rs.close(); conn.close();

} catch(ClassNotFoundException e) {

System.out.println(“Sorry,can`t find the Driver!”); e.printStackTrace();

} catch(SQLException e) {

e.printStackTrace();

} catch(Exception e) {

e.printStackTrace();

} } }

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/240954.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:25
下一篇 2024-12-12 12:25

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • SSVMW介紹及應用實例解析

    SSVMW是輕量級高性能的Web框架,能夠快速地提高Web應用程序的安全性、性能和可靠性。下面我們將從多個方面對SSVMW進行詳細的闡述,介紹如何使用它來構建Web應用程序。 一、…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29

發表回復

登錄後才能評論