Java連接MySQLURL

本文目錄一覽:

java怎麼連接mysql

下面代碼是使用jdbc直接鏈接mysql的操作,鏈接方式與SQL SERVER類似,區別在於加載的驅動不同,url的設置也有點區別,用戶名、密碼、端口號這些設置都類似

執行腳本返回的結果,可以看出java成功鏈接上mysql並獲取到返回值

mysql-connector-java-5.1.26-bin.jar是java鏈接mysql使用的jar包,與SQL SERVER鏈接也有專門的jar包,jar包中包含了java鏈接mysql所用到的函數驅動等等,所有的jar包都是放到web工程lib目錄下

4

如果工程是整合在ssh下,一般情況下都會有一個properties文件,該文件配置了數據庫鏈接常用的命令,下圖是mysql中的配置

使用spring框架下進行的測試,結果可以成功執行,其實無論是sql server還是mysql還是其他的數據庫,基本功能都一樣,只是語法結構有所區別,java在調用的過程中大部分功能只要切換了數據庫鏈接命令就可以公用,如果系統架構設計的足夠好,當我們切換數據庫的時候,應用程序是不用調整就能兼容的

java鏈接mysql數據庫url怎麼寫

連接代碼如下:

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);

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();

}

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();

}}}

java怎麼連接mysql數據庫

這裡介紹兩種方式:

一,jdbc鏈接MySQL數據庫:

1,如果你用jdbc方式,則按照下列方式進行連接:

A,註冊驅動

B,鏈接數據庫

C,執行sql

D,返回結果集

如下為一個基本完整流程:

packagecom.hu.demo;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.SQLException;

publicclassDBHelper{

publicstaticfinalStringurl="jdbc:mysql://127.0.0.1/student";

publicstaticfinalStringname="com.mysql.jdbc.Driver";

publicstaticfinalStringuser="root";

publicstaticfinalStringpassword="root";

publicConnectionconn=null;

publicPreparedStatementpst=null;

publicDBHelper(Stringsql){

try{

Class.forName(name);//指定連接類型

conn=DriverManager.getConnection(url,user,password);//獲取連接

pst=conn.prepareStatement(sql);//準備執行語句

}catch(Exceptione){

e.printStackTrace();

}

}

publicvoidclose(){

try{

this.conn.close();

this.pst.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

2,將註冊,鏈接封裝好,執行sql語句,返回結果集,代碼如下:

packagecom.hu.demo;

importjava.sql.ResultSet;

importjava.sql.SQLException;

publicclassDemo{

staticStringsql=null;

staticDBHelperdb1=null;

staticResultSetret=null;

publicstaticvoidmain(String[]args){

sql="select*fromstuinfo";//SQL語句

db1=newDBHelper(sql);//創建DBHelper對象

try{

ret=db1.pst.executeQuery();//執行語句,得到結果集

while(ret.next()){

Stringuid=ret.getString(1);

Stringufname=ret.getString(2);

Stringulname=ret.getString(3);

Stringudate=ret.getString(4);

System.out.println(uid+"\t"+ufname+"\t"+ulname+"\t"+udate);

}//顯示數據

ret.close();

db1.close();//關閉連接

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

3,查詢結果如下:

二,利用框架鏈接MySQL,這裡是springMVC+Mybatis方式鏈接,主要是配置文件:

config.properties文件

validationQuery=SELECT1

#jdbc_url=jdbc\:mysql\://110.80.10.198\:3306/irrigation?useUnicode\=truecharacterEncoding\=UTF-8zeroDateTimeBehavior\=convertToNull

#jdbc_username=root

#jdbc_password=2025900

jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=truecharacterEncoding=UTF-8zeroDateTimeBehaviorsss=convertToNull

jdbc_username=root

jdbc_password=123456

spring-mabatis.xml文件,進行相關配置

?xmlversion="1.0"encoding="UTF-8"?

beansxmlns=""

xmlns:xsi=""xmlns:tx=""

xmlns:aop=""

xsi:schemaLocation="

"

!–配置數據源–

beanname="dataSource"class="com.alibaba.druid.pool.DruidDataSource"

init-method="init"destroy-method="close"

propertyname="url"value="${jdbc_url}"/

propertyname="username"value="${jdbc_username}"/

propertyname="password"value="${jdbc_password}"/

!–初始化連接大小–

propertyname="initialSize"value="0"/

!–連接池最大使用連接數量–

propertyname="maxActive"value="20"/

!–連接池最小空閑–

propertyname="minIdle"value="0"/

!–獲取連接最大等待時間–

propertyname="maxWait"value="60000"/

!–propertyname="poolPreparedStatements"value="true"/property

name="maxPoolPreparedStatementPerConnectionSize"value="33"/–

propertyname="validationQuery"value="${validationQuery}"/

propertyname="testOnBorrow"value="false"/

propertyname="testOnReturn"value="false"/

propertyname="testWhileIdle"value="true"/

!–配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒–

propertyname="timeBetweenEvictionRunsMillis"value="60000"/

!–配置一個連接在池中最小生存的時間,單位是毫秒–

propertyname="minEvictableIdleTimeMillis"value="25200000"/

!–打開removeAbandoned功能–

propertyname="removeAbandoned"value="true"/

!–1800秒,也就是30分鐘–

propertyname="removeAbandonedTimeout"value="1800"/

!–關閉abanded連接時輸出錯誤日誌–

propertyname="logAbandoned"value="true"/

!–監控數據庫–

!–propertyname="filters"value="stat"/–

propertyname="filters"value="mergeStat"/

/bean

!–myBatis文件–

beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"

propertyname="dataSource"ref="dataSource"/

!–自動掃描entity目錄,省掉Configuration.xml里的手工配置–

propertyname="mapperLocations"value="classpath:com/fourfaith/*/mapping/*.xml"/

/bean

beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer"

propertyname="basePackage"value="com.fourfaith.**.dao"/

propertyname="sqlSessionFactoryBeanName"value="sqlSessionFactory"/

/bean

!–配置事務管理器–

beanid="transactionManager"

class="org.springframework.jdbc.datasource.DataSourceTransactionManager"

propertyname="dataSource"ref="dataSource"/

/bean

!–攔截器方式配置事物–

tx:adviceid="transactionAdvice"transaction-manager="transactionManager"

tx:attributes

tx:methodname="add*"propagation="REQUIRED"/

tx:methodname="append*"propagation="REQUIRED"/

tx:methodname="insert*"propagation="REQUIRED"/

tx:methodname="save*"propagation="REQUIRED"/

tx:methodname="update*"propagation="REQUIRED"/

tx:methodname="modify*"propagation="REQUIRED"/

tx:methodname="edit*"propagation="REQUIRED"/

tx:methodname="delete*"propagation="REQUIRED"/

tx:methodname="remove*"propagation="REQUIRED"/

tx:methodname="repair"propagation="REQUIRED"/

tx:methodname="delAndRepair"propagation="REQUIRED"/

tx:methodname="import*"propagation="REQUIRED"read-only="false"

rollback-for="java.lang.Exception"/

tx:methodname="get*"propagation="SUPPORTS"/

tx:methodname="find*"propagation="SUPPORTS"/

tx:methodname="load*"propagation="SUPPORTS"/

tx:methodname="search*"propagation="SUPPORTS"/

tx:methodname="datagrid*"propagation="SUPPORTS"/

tx:methodname="*"propagation="SUPPORTS"/

/tx:attributes

/tx:advice

aop:config

aop:pointcutid="transactionPointcut"

expression="execution(*com…*.service..*Impl.*(..))"/

aop:advisorpointcut-ref="transactionPointcut"

advice-ref="transactionAdvice"/

/aop:config

!–配置druid監控springjdbc–

beanid="druid-stat-interceptor"

class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"

/bean

beanid="druid-stat-pointcut"class="org.springframework.aop.support.JdkRegexpMethodPointcut"

scope="prototype"

propertyname="patterns"

list

valuecom…*.service.*/value

/list

/property

/bean

aop:config

aop:advisoradvice-ref="druid-stat-interceptor"

pointcut-ref="druid-stat-pointcut"/

/aop:config

/beans

還有很多方式可以實現,這裡就簡略的描述一番。

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

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

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

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

    編程 2025-04-29
  • Java JsonPath 效率優化指南

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

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

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

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

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

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

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

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

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

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

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

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論