java連接mysql數據庫,Java連接MySQL數據庫實現用戶登錄功能

本文目錄一覽:

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數據庫的幾種方式

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數據庫

第1步 獲取Java與MySQL的連接器

第2步 將下載的包存放在自己機器上jdk安裝目錄下面的jre目錄下面的lib目錄下面的ext目錄中,在程序中導入與數據庫操作相關的對象

import java.sql.Connection; //導入數據庫連接對象

import java.sql.DriverManager; //導入數據庫驅動管理對象

import java.sql.ResultSet; //導入數據記錄集對象

import java.sql.SQLException; //導入數據SQL操作異常對象

import java.sql.Statement; //導入SQL操作接口對象

第3步:在程序中寫入如下內容

String url; //連接數據庫的字符串

String sql; //執行數據sql查詢操作的字符串

Connection conn; //數據庫連接變量

Statement st; //數據庫操作對象

ResultSet rs; //數據記錄集對象

url = “jdbc:mysql://localhost:3306/test?user=rootpassword=”; //在程序中只要修改這句,就可以實現數據庫連接

try {

conn = DriverManager.getConnection(url);

st = conn.createStatement();

sql = “select * from test”; //只要修改這句,就可以實現各種查詢操作

rs=st.executeQuery(sql); //執行數據查詢

while(rs.next())

{

System.out.println(rs.getString(1)); //獲得數據表test中第1個字段的數據,該字段為字符串類型

System.out.println(rs.getString(2)); //獲得數據表test中第2個字段的數據,該字段為字符串類型

}

rs.close(); //關閉數據記錄集

conn.close(); //關閉數據庫連接

} catch (SQLException e) {

System.out.println(“Error:”+e.toString()+e.getMessage());

}

java是怎麼連接mysql數據庫的

java連接mysql數據庫的步驟如下:

首先要下載mysql-connection-java-5.0.16-bin.jar這個jar包(版本不一致沒關係),然後在工程中導入該庫文件。

然後寫一個類(DBHelper)用來打開或關閉數據庫:

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

}

}

}

最後再寫一個Demo類來執行相關查詢操作:

package com.hu.demo;

import java.sql.ResultSet;

import java.sql.SQLException;

public class Demo {

static String sql = null;

static DBHelper db1 = null;

static ResultSet ret = null;

public static void main(String[] args) {

sql = “select *from stuinfo”;//SQL語句

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

try {

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

while (ret.next()) {

String uid = ret.getString(1);

String ufname = ret.getString(2);

String ulname = ret.getString(3);

String udate = ret.getString(4);

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

}//顯示數據

ret.close();

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

} catch (SQLException e) {

e.printStackTrace();

}

}

}

這樣就完成了mysql數據庫的連接了。

java連接數據庫的代碼

package mysql;

import java.sql.*;

/**

* @author xys

*/

public class ConnectMysql {

public static Connection getConnection() throws ClassNotFoundException, SQLException {

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

String user = “mysqluser”;

String password = “password”;

String driverClass = “com.mysql.cj.jdbc.Driver”;

Connection connection = null;

Class.forName(driverClass);

try {

connection = DriverManager.getConnection(url, user, password);

} catch (SQLException e) {

e.printStackTrace();

}

if (connection != null) {

System.out.println(“數據庫連接成功”);

} else {

System.out.println(“數據庫連接失敗”);

connection.close();

}

return connection;

}

public void getResult() throws ClassNotFoundException, SQLException {

// 實例化 Statement 對象

Statement statement = getConnection().createStatement();

// 要執行的 Mysql 數據庫操作語句(增、刪、改、查)

String sql = “”;

// 展開結果集數據庫

ResultSet resultSet = statement.executeQuery(sql);

while (resultSet.next()) {

// 通過字段檢索

int id = resultSet.getInt(“id”);

String name = resultSet.getString(“name”);

// 輸出數據

System.out.println(“ID : ” +id);

System.out.println(“name :” + name);

}

// 完成後需要依次關閉

resultSet.close();

statement.close();

getConnection().close();

}

}

java怎麼連接mysql數據庫

這裡介紹兩種方式:

一,jdbc鏈接MySQL數據庫:

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

A,註冊驅動

B,鏈接數據庫

C,執行sql

D,返回結果集

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

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

        }  

    }  

}

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

package com.hu.demo;  

  

import java.sql.ResultSet;  

import java.sql.SQLException;  

  

public class Demo {  

  

    static String sql = null;  

    static DBHelper db1 = null;  

    static ResultSet ret = null;  

  

    public static void main(String[] args) {  

        sql = “select *from stuinfo”;//SQL語句  

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

  

        try {  

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

            while (ret.next()) {  

                String uid = ret.getString(1);  

                String ufname = ret.getString(2);  

                String ulname = ret.getString(3);  

                String udate = ret.getString(4);  

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

            }//顯示數據  

            ret.close();  

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

        } catch (SQLException e) {  

            e.printStackTrace();  

        }  

    }  

  

}

3,查詢結果如下:

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

config.properties文件

validationQuery=SELECT 1

#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文件,進行相關配置

?xml version=”1.0″ encoding=”UTF-8″?

beans xmlns=””

xmlns:xsi=”” xmlns:tx=””

xmlns:aop=””

xsi:schemaLocation=”

 

 

 

 

!– 配置數據源 —

bean name=”dataSource” class=”com.alibaba.druid.pool.DruidDataSource”

init-method=”init” destroy-method=”close”

property name=”url” value=”${jdbc_url}” /

property name=”username” value=”${jdbc_username}” /

property name=”password” value=”${jdbc_password}” /

!– 初始化連接大小 —

property name=”initialSize” value=”0″ /

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

property name=”maxActive” value=”20″ /

!– 連接池最小空閑 —

property name=”minIdle” value=”0″ /

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

property name=”maxWait” value=”60000″ /

!– property name=”poolPreparedStatements” value=”true” / property 

name=”maxPoolPreparedStatementPerConnectionSize” value=”33″ / —

property name=”validationQuery” value=”${validationQuery}” /

property name=”testOnBorrow” value=”false” /

property name=”testOnReturn” value=”false” /

property name=”testWhileIdle” value=”true” /

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

property name=”timeBetweenEvictionRunsMillis” value=”60000″ /

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

property name=”minEvictableIdleTimeMillis” value=”25200000″ /

!– 打開removeAbandoned功能 —

property name=”removeAbandoned” value=”true” /

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

property name=”removeAbandonedTimeout” value=”1800″ /

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

property name=”logAbandoned” value=”true” /

!– 監控數據庫 —

!– property name=”filters” value=”stat” / —

property name=”filters” value=”mergeStat” /

/bean

!– myBatis文件 —

bean id=”sqlSessionFactory” class=”org.mybatis.spring.SqlSessionFactoryBean”

property name=”dataSource” ref=”dataSource” /

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

property name=”mapperLocations” value=”classpath:com/fourfaith/*/mapping/*.xml” /

/bean

bean class=”org.mybatis.spring.mapper.MapperScannerConfigurer”

property name=”basePackage” value=”com.fourfaith.**.dao” /

property name=”sqlSessionFactoryBeanName” value=”sqlSessionFactory” /

/bean

!– 配置事務管理器 —

bean id=”transactionManager”

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

property name=”dataSource” ref=”dataSource” /

/bean

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

tx:advice id=”transactionAdvice” transaction-manager=”transactionManager”

tx:attributes

tx:method name=”add*” propagation=”REQUIRED” /

tx:method name=”append*” propagation=”REQUIRED” /

tx:method name=”insert*” propagation=”REQUIRED” /

tx:method name=”save*” propagation=”REQUIRED” /

tx:method name=”update*” propagation=”REQUIRED” /

tx:method name=”modify*” propagation=”REQUIRED” /

tx:method name=”edit*” propagation=”REQUIRED” /

tx:method name=”delete*” propagation=”REQUIRED” /

tx:method name=”remove*” propagation=”REQUIRED” /

tx:method name=”repair” propagation=”REQUIRED” /

tx:method name=”delAndRepair” propagation=”REQUIRED” /

tx:method name=”import*” propagation=”REQUIRED” read-only=”false”

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

tx:method name=”get*” propagation=”SUPPORTS” /

tx:method name=”find*” propagation=”SUPPORTS” /

tx:method name=”load*” propagation=”SUPPORTS” /

tx:method name=”search*” propagation=”SUPPORTS” /

tx:method name=”datagrid*” propagation=”SUPPORTS” /

tx:method name=”*” propagation=”SUPPORTS” /

/tx:attributes

/tx:advice

aop:config

aop:pointcut id=”transactionPointcut”

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

aop:advisor pointcut-ref=”transactionPointcut”

advice-ref=”transactionAdvice” /

/aop:config

!– 配置druid監控spring jdbc —

bean id=”druid-stat-interceptor”

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

/bean

bean id=”druid-stat-pointcut” class=”org.springframework.aop.support.JdkRegexpMethodPointcut”

scope=”prototype”

property name=”patterns”

list

valuecom…*.service.*/value

/list

/property

/bean

aop:config

aop:advisor advice-ref=”druid-stat-interceptor”

pointcut-ref=”druid-stat-pointcut” /

/aop:config

/beans

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

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

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

相關推薦

  • 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
  • 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
  • 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
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

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

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

    編程 2025-04-29

發表回復

登錄後才能評論