當前位置:首頁 » 數據倉庫 » javaweb和資料庫連接
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

javaweb和資料庫連接

發布時間: 2022-10-02 20:49:48

1. java web項目中的資料庫連接

首先你要檢查你的資料庫的埠號是否正確,接下來你要確定項目中是否導入數據連接的jar包,再接著就是看你連接的資料庫sqlserver是否開啟,數據表是否存在於資料庫中,最後看你的資料庫賬號,密碼是否設置正確

2. 什麼是Java web開發中資料庫的連接池技術,它的原理大致是什麼

什麼是連接池
資料庫連接池負責分配、管理和釋放資料庫連接,它允許應用程序重復使用一個現有的資料庫連接,而不是再重新建立一個。
為什麼要使用連接池
資料庫連接是一種關鍵的有限的昂貴的資源,這一點在多用戶的網頁應用程序中體現得尤為突出。 一個資料庫連接對象均對應一個物理資料庫連接,每次操作都打開一個物理連接,使用完都關閉連接,這樣造成系統的 性能低下。 資料庫連接池的解決方案是在應用程序啟動時建立足夠的資料庫連接,並講這些連接組成一個連接池(簡單說:在一個「池」里放了好多半成品的資料庫聯接對象),由應用程序動態地對池中的連接進行申請、使用和釋放。對於多於連接池中連接數的並發請求,應該在請求隊列中排隊等待。並且應用程序可以根據池中連接的使用率,動態增加或減少池中的連接數。 連接池技術盡可能多地重用了消耗內存地資源,大大節省了內存,提高了伺服器地服務效率,能夠支持更多的客戶服務。通過使用連接池,將大大提高程序運行效率,同時,我們可以通過其自身的管理機制來監視資料庫連接的數量、使用情況等。

3. java web與資料庫相連,具體怎麼做

採用JDBC或JDBC-ODBC的方式連接。例如import java.sql.*;public class DB {
private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; // 驅動類
private static final String URL = "jdbc:sqlserver://127.0.0.1:1433;databaseName=customerDB"; // 連接字元串
private static final String UID = "sa"; // 登陸資料庫用戶
private static final String UPASS = ""; // 登陸資料庫密碼 private Connection con = null; // 資料庫連接對象
private Statement st = null; // 資料庫語句執行對象
private PreparedStatement pst = null; // 資料庫預編譯語句執行對象
// private CallableStatement cst=null; //資料庫存儲過程執行對象
private ResultSet rs = null; // 資料庫查詢結果對象 /**
* 資料庫操作類構造方法
*/
public DB() {
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL, UID, UPASS);
st = con.createStatement();
System.out.println("DataBase connected success.");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("DataBase connected error.");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("DataBase connected error.");
}
} /**
* 執行資料庫查詢語句
*
* @param sql
* 查詢語句
* @return 查詢結果集
*/
public ResultSet execQuery(String sql) {
try {
System.out.println("execute '" + sql + "'");
rs = st.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Erro:execute this statement '" + sql + "'");
}
return rs;
} /**
* 執行資料庫預編譯查詢語句
*
* @param sql
* 預編譯查詢語句
* @param param
* 預編譯查詢語句參數
* @return 查詢結果集
*/
public ResultSet execQuery(String sql, String[] param) {
try {
pst = con.prepareStatement(sql);
for (int i = 0; i < param.length; i++) {
pst.addBatch(param[i]);
}
rs = pst.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
} /**
* 執行資料庫增刪改操作語句
*
* @param sql
* 增刪改語句
* @return 影響行數
*/
public int execUpdate(String sql) {
int res = 0;
try {
System.out.println("execute '" + sql + "'");
res = st.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Erro:execute this statement '" + sql + "'");
}
return res;
} /**
* 執行資料庫預編譯的增刪改操作語句
*
* @param sql
* 預編譯增刪改語句
* @param param
* 預編譯語句參數
* @return 影響行數
*/
public int execUpdate(String sql, String[] param) {
int res = 0;
try {
pst = con.prepareStatement(sql);
for (int i = 0; i < param.length; i++) {
pst.addBatch(param[i]);
}
} catch (SQLException e) {
e.printStackTrace();
}
return res;
} /**
* 關閉資料庫連接並釋放資源
*/
public void close() {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (st != null) {
st.close();
st = null;
}
if (pst != null) {
pst.close();
pst = null;
}
if (con != null && !con.isClosed()) {
con.close();
con = null;
}
System.out.println("DataBase shutdown success.");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("DataBase shutdown error.");
}
}
}

4. javaweb怎麼連接mysql資料庫

安裝好mysql之後,那麼你現在應該安裝JDK了(JDK1.6就可以)
安裝好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, ...);

5. javaweb怎麼連接mysql資料庫

當然,首先要安裝有JDK(一般是JDK1.5.X)。然後安裝MySQL,這些都比較簡單,具體過程就不說了。配置好這兩個環境後,下載JDBC
驅動mysql-connector-java-5.0.5.zip(這個是最新版的)。然後將其解壓縮到任一目錄。我是解壓到D盤,然後將其目錄下的
mysql-connector-java-5.0.5-bin.jar加到classpath里,

具體如下:「我的電腦」-> 「屬性」 -> 「高級」 ->
「環境變數」,在系統變數那裡編輯classpath,將D:\mysql-connector-java-5.0.5\mysql-
connector-java-5.0.5-bin.jar加到最後,在加這個字元串前要加「;」,以與前一個classpath區分開。然後確定。

環境配置好了,很簡單。現在,先配置Java連接MySQL,設其用戶名為「root」,密碼為「root」。在命令行或用一個SQL的前端軟體創建Database。

我是用SQLyog的前端軟體來創建Database的。

先創建資料庫:
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, ...);

也可以用SQLyog來操作

好了,創建好了。

下面,我們來編寫.java文件來演示一下如何訪問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";

// Java連接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); System.out.println("-----------------"); System.out.println("執行結果如下所示:"); System.out.println("-----------------"); System.out.println(" 學號" + "\t" + " 姓名"); System.out.println("-----------------"); String name = null; while(rs.next()) {

選擇sname這列數據

name = rs.getString("sname");

// 首先使用ISO-8859-1字元集將name解碼為位元組序列並將結果存儲新的位元組數組中。

// 然後使用GB2312字元集解碼指定的位元組數組

name = new String(name.getBytes("ISO-8859-1"),"GB2312");

// 輸出結果
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(); } } }

接下來我們運行一下看下效果:

D:\testjdbc>javac JDBCTest.java

D:\testjdbc>java JDBCTest

Succeeded connecting to the Database!

6. javaweb怎麼連接mysql資料庫

用jdbc就可以。。

package com.hu.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBHelper {
public static final String url = "jdbc:mysql://127.0.0.1/student";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "root";

public Connection conn = null;
public PreparedStatement pst = null;

public DBHelper(String sql) {
try {
Class.forName(name);//指定連接類型
conn = DriverManager.getConnection(url, user, password);//獲取連接
pst = conn.prepareStatement(sql);//准備執行語句
} catch (Exception e) {
e.printStackTrace();
}
}

public void close() {
try {
this.conn.close();
this.pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

7. javaweb怎麼連接mysql資料庫

import java.sql.*;
class MysqlDb {
public static void DB(String sql) {
// 驅動程序名
String driver = "com.mysql.jdbc.Driver";
// url指向的資料庫
String url = "jdbc:mysql://localhost:3306/test";
// MYSQL用戶名
String user = "root";
// MYSQL密碼
String password = "root";
try {
// 載入驅動程序
Class.forName(driver);
// 連接資料庫
Connection conn = DriverManager.getConnection(url, user, password);
// statement用來執行SQL語句
Statement statement = conn.createStatement();
//執行查詢SQL
ResultSet rs = statement.executeQuery(sql);
//如表欄位有:name,age,card等
while (rs.next()) {
//取值
System.out.println(rs.getString("name"));
System.out.println(rs.getInt("age"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
MysqlDb.DB("select * from t_user");
}
}

和普通的程序的原理過程是相似 的。只是WEB最好寫成庫,方便多地方調用
~

8. java web連接資料庫

首先你要檢查你的資料庫的
埠號
是否正確,接下來你要確定項目中是否導入數據連接的JAR包,再接著就是看你連接的資料庫
SQLserver
是否開啟,數據表是否存在於資料庫中,最後看你的資料庫賬號,密碼是否設置正確

9. JAVA web 與資料庫的連接到底是怎樣連的啊

JAVA Web開發中與資料庫的連接操作,配置:
1、新建資料庫。
新建登錄角色,在新建資料庫的時候把資料庫的所有權交給你新建的角色。用用戶和密碼控制資料庫。保證資料庫的安全。

2、編寫context.xml文件 Xml文件的目的是封裝用戶和密碼,也是封裝的一種,方便操作。
以下為context.xml文件樣例:
<?xml version="1.0" encoding="utf-8"?>
<Context reloadable = "true">
<Resource
name="jdbc/sampleHS"
type="javax.sql.DataSource"
maxActive="14"
maxIdle="10"
username="hstaoshu"
maxWait="5000"
driverClassName="org.postgresql.Driver"
password="hstaoshu"
url="jdbc:postgresql://localhost:5432/hstaoshu"/>
</Context>
詳細說明:
name="jdbc/sampleHS"裡面的ssampHS是可改名稱,建議根據需要自己命名;
username="hstaoshu"
password="hstaoshu"此兩項為你新建的資料庫登錄角色用戶名和密碼信息,只有匹配 了才能訪問。這里簡單為了表示,把用戶名和密碼弄成了跟資料庫名字一樣。其實這是很不安全的。
url="jdbc:postgresql://localhost:5432/hstaoshu"/>
這是連接資料庫的URl,就像訪問網站的地址一樣。沒有這個是無法訪問資料庫的。localhost:5432表示本地埠。一般不需要改動,如果你在配置資料庫的時候改動過埠,那麼你需要把它改回來。/hstaoshu是你的資料庫名稱。
其他選項請勿擅自改動。

3、編寫DAO類。
DAO類的作用是與數據連接後,對資料庫的一些操作的封裝。封裝的作用。為了更好的數據管理。
DAO是真正如何使用資料庫的關鍵步驟,前兩步只是部署和配置。
private static InitialContext context = null;
private DataSource dataSource = null;
//一般把跟資料庫的連接放在DAO類的構造函數里,只要被實例化,就能和資料庫連接。
public BookDAO() {
try {
if (context == null) {
context = new InitialContext();
}
dataSource = (DataSource) context.lookup("java:comp/env/jdbc/sampleHS");
// 連接資料庫,前面在context.xml文件配置里的URl
} catch (NamingException e2) {
e2.printStackTrace();
}
}
public Connection getConnection() {
Connection conn = null;
try {
conn = dataSource.getConnection();// 獲得數據源的連接對象
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

做完上面的三步操作,開發環境已經完全和資料庫連接OK,可以開始資料庫的操作了。一般來說,對資料庫的操作語句都是提前封裝好的。這樣修改起來會對下面的代碼影響降到最小。
如下:
// ------------------資料庫操作語句代碼封裝------------------

/* 查看所有圖書 */
private static final String SELECT_ALL_SQL = "SELECT * FROM book";
那麼在使用的時候只要直接調用:
pstmt = conn.prepareStatement(SELECT_ALL_SQL);

10. java web與資料庫相連,具體怎麼做

採用JDBC或JDBC-ODBC的方式連接。 例如 import java.sql.*; public class DB { private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; // 驅動類 private static final String URL = "jdbc:sqlserver://127.0.0.1:1433;databaseName=customerDB"; // 連接字元串 private static final String UID = "sa"; // 登陸資料庫用戶 private static final String UPASS = ""; // 登陸資料庫密碼 private Connection con = null; // 資料庫連接對象 private Statement st = null; // 資料庫語句執行對象 private PreparedStatement pst = null; // 資料庫預編譯語句執行對象 // private CallableStatement cst=null; //資料庫存儲過程執行對象 private ResultSet rs = null; // 資料庫查詢結果對象 /** * 資料庫操作類構造方法 */ public DB() { try { Class.forName(DRIVER); con = DriverManager.getConnection(URL, UID, UPASS); st = con.createStatement(); System.out.println("DataBase connected success."); } catch (ClassNotFoundException e) { e.printStackTrace(); System.out.println("DataBase connected error."); } catch (SQLException e) { e.printStackTrace(); System.out.println("DataBase connected error."); } } /** * 執行資料庫查詢語句 * * @param sql * 查詢語句 * @return 查詢結果集 */ public ResultSet execQuery(String sql) { try { System.out.println("execute '" + sql + "'"); rs = st.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); System.out.println("Erro:execute this statement '" + sql + "'"); } return rs; } /** * 執行資料庫預編譯查詢語句 * * @param sql * 預編譯查詢語句 * @param param * 預編譯查詢語句參數 * @return 查詢結果集 */ public ResultSet execQuery(String sql, String[] param) { try { pst = con.prepareStatement(sql); for (int i = 0; i < param.length; i++) { pst.addBatch(param[i]); } rs = pst.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } return rs; } /** * 執行資料庫增刪改操作語句 * * @param sql * 增刪改語句 * @return 影響行數 */ public int execUpdate(String sql) { int res = 0; try { System.out.println("execute '" + sql + "'"); res = st.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); System.out.println("Erro:execute this statement '" + sql + "'"); } return res; } /** * 執行資料庫預編譯的增刪改操作語句 * * @param sql * 預編譯增刪改語句 * @param param * 預編譯語句參數 * @return 影響行數 */ public int execUpdate(String sql, String[] param) { int res = 0; try { pst = con.prepareStatement(sql); for (int i = 0; i < param.length; i++) { pst.addBatch(param[i]); } } catch (SQLException e) { e.printStackTrace(); } return res; } /** * 關閉資料庫連接並釋放資源 */ public void close() { try { if (rs != null) { rs.close(); rs = null; } if (st != null) { st.close(); st = null; } if (pst != null) { pst.close(); pst = null; } if (con != null && !con.isClosed()) { con.close(); con = null; } System.out.println("DataBase shutdown success."); } catch (SQLException e) { e.printStackTrace(); System.out.println("DataBase shutdown error."); } } }