當前位置:首頁 » 編程語言 » javamysql

javamysql

發布時間: 2022-02-05 04:47:34

A. mysqljava中的應用

Java連接Mysql詳解
Part I: 驅動/數據源類名, URL語法, Connector/J的屬性配置.假設你應經安裝好了mysql, 和mysql-connector-java-X.X.X-bin.jar
Mysql Connector/J通過com.mysql.jdbc.Driver來實現java.sql.Driver, 同時類名org.gjt.mm.mysql.Driver依舊可用, 以保持向前兼容MM.Mysql.
MySQL的JDBC URL格式如下:
如果沒有明確指定host(主機名), 默認為127.0.0.1, 埠號默認是3306
如果不指定資料庫名, 不會有默認的資料庫, 這樣的話, 你可以調用Connection的setCatalog()方法, 或者在SQL中明確指定所用的資料庫. 這種情況只在為多個資料庫建立工具時有用. 例如建立GUI資料庫管理器.
JDBC應該永遠不使用USE database來指定資料庫, 應該用Connection.setCatalog()方法.
MySQL Connector/J支持fail-over模式, 使用fail-over模式, 必須將connection的autoCommit設置為true.
如果URL的autoReconnect設置為false: Failover會發生在連接初始化時, failback出現在驅動器使第一個主機在此可用時.
如果URL的autoReconnect屬性時true, Failover發生在驅動決定connection失敗時(在每次查詢之前), falls back到第一個主機, 當它決定這個主機在此可用時.
在以上提到的兩種情況中, 無論何時你連接到一個"failed-over"伺服器, 這個連接將會是制度的, 因此, 修改數據的查詢, 將會引發異常.
Configuration properties定義Connctor/J將怎樣連接到MySQL伺服器. 除了特別聲明, 這些屬性可以設置在DataSource或Connection object中.
Configuration properties可以按照下面的方式進行設置:
①使用MysqlDataSource或MysqlConnectionPoolDataSource的set*()方法.
②以java.util.Properties的key/value對的形式傳遞給DriverManager.getConnection() 或Driver.connect()
③作為JDBC URL的參數傳給java.sql.DriverManger.getConnection()
java.sql.Driver.connect()或MySQL實現的javax.sql.DataSource setURL() 方法.
注意: 如果你用來確定JDBC URL的機制是XML-based, 你需要使用XML字元 &來分隔參數.

B. 如何連接java和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區分開。然後確定。
環境配置好了,很簡單。現在,先配置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文件來演示一下如何訪問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);
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");
/* 何問起 hovertree.com */
// 首先使用ISO-8859-1字元集將name解碼為位元組序列並將結果存儲新的位元組數組中。
// 然後使用GB2312字元集解碼指定的位元組數組
name = new String(name.getBytes("ISO-8859-1"),"GB2312");
// 輸出結果
System.out.println(rs.getString("sno") + "\t" + name);
}
rs.close();

C. MySQL是Java的一部分嗎

mysql 是資料庫
java 是程序設計語言
不過mysql被oracle收購了
sun也被oracle收購了

MySql當然是需要單獨安裝的,它和java沒有必然聯系,是相互獨立的

MySQL 與SQl可以說也是相互獨立的。一個是DBMS,一個DML,類型就完全不一樣

D. java和mysql

mysql版本影響不大吧,不過建議同時下載一個mysql可視化管理工具navicat
java連接mysql資料庫需要一個名字為mysql-connector-java-5.1.7-bin的jar包,導入後,寫下以下幾句
Class.forName("com.mysql.jdbc.Driver");
DriverManager.getConnection("jdbc:mysql://localhost:3306/A?useUnicode=true&characterEncoding=utf8",B,C);
就可以連接資料庫了,其中A為資料庫名,B為你設置的用戶名,C為你設置的密碼

E. java控制MYSQL服務啟動

1,首先把MySQL安裝成windows的服務(使用net start mysql命令就可以啟動MySQL了)
2,編寫批處理文件
啟動MySQL(mysql_start.bat)內容如下:
net start mysql
停止MySQL(mysql_stop.bat)
net stop mysql
3,在java里調用批處理文件RunTime.exec("mysql_start.bat / mysql_stop.bat");

思路是這樣,呵呵,我也沒嘗試過哈。

F. java連接資料庫

java連接資料庫的代碼 位於MVC中的M(模型層)中,主要負責與資料庫打交道。
本人把我以前寫的代碼 加上注釋 給你看看 希望對你有幫助。
public class UserInfoDAO {
//驗證登陸名/密碼sql語句
//private -----這個sql語句只在本類內部使用,沒有必要public
//static -----sql語句僅僅一份就足夠了
//final -----sql語句一般在運行時不變,final修飾的變數相當於常量
//常量名所有字母大寫
private static final String SQL_CHECK_USERINFO =
"SELECT LOGINNAME,USERNAME,PASSWORD,AGE,ADDRESS FROM USERINFO WHERE LOGINNAME=? AND PASSWORD = ?";
public UserInfoDAO() {
}
/**
* 驗證登陸名/密碼方法
* @param u UserInfo
* @return boolean
*/
public boolean checkUser(UserInfo u) {
boolean b = false;//驗證是否成功的標識
Connection conn = null;//資料庫連接的引用
PreparedStatement pstmt = null;//PreparedStatement引用
ResultSet rs = null;//結果集引用
//調用ConnectionManager的方法,得到資料庫里連接實例
conn = ConnectionManager.getConnection();
try {
//通過Connection的prepareStatement()方法構建PreparedStatement實例,參數為sql語句
pstmt = conn.prepareStatement(SQL_CHECK_USERINFO);

//為sql語句中的?賦值,注意序號從1開始
pstmt.setString(1, u.getLoginName());
pstmt.setString(2, u.getPassword());

//執行查詢得到結果集
rs = pstmt.executeQuery();

//在結果集中循環,如果結果集中有記錄意味著驗證成功
b = rs.next();//標識置為true
while (rs.next()) {
b = true;//標識置為true
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} finally {
//注意:一定在finally中釋放資料庫資源
cleanUP(rs, pstmt, conn);
}
return b;
}

private void cleanUP(ResultSet rs, PreparedStatement pstmt, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
}

G. 如何使用Java與Mysql進行數據交互

使用jdbc驅動 六個步驟

  1. 創建鏈接

  2. 載入驅動

  3. 獲取示例

  4. 執行sql語句

  5. 獲取結果集

  6. 關閉連接

    代碼示例

  7. importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassDbDemo{

    publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub
    ResultSetresult=null;
    Connectioncon=null;
    Statementstatement=null;try{//第0步:將mysql的jdbcjar包加入到引用庫中來
    //第一步:將想要連接的資料庫驅動類載入到JVM中來,載入過程中並向DriverManager注冊Driver
    //成功載入後,會將Mysql的驅動Driver類的實例注冊到DriverManager類中。
    //使得下面我們獲取Connection只需要通過DriverManager就可以了。我不需要通過每個資料庫具體的Driver。
    Class.forName("com.mysql.jdbc.Driver").newInstance();//第二步,通過DriverManager獲取一個和mysql的連接實例con
    StringJDBCUrl="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";//
    StringuserName="root";
    Stringpassword="1557862201";//接受一個jdbcurl,username,password;
    con=DriverManager.getConnection(JDBCUrl,userName,password);//第三步:通過con連接獲取到Statement實例,執行sql語句
    statement=con.createStatement();//statement實例是用於一些不帶參數的sql執行,查詢,更新,插入,刪除操作都可以但是需要構建一個沒有佔位符的sql字元串
    //第四步,statement執行sql語句,查詢到的結果集到ResultSet實例,簡單查詢,沒有where語句的查詢
    result=statement.executeQuery("select*fromstudent");//第五步:從結果集中獲取數據
    while(result.next()){//根據test庫中student表格列名讀取數據
    intid=result.getInt("id");
    Stringname=result.getString("_stuName");
    Stringnumber=result.getString("_stuNumber");
    StringGrade=result.getString(result.findColumn("_stuGrade"));
    StringAddress=result.getString(result.findColumn("_stuAddress"));
    System.out
    .println("name="+name+"number="+number+"Grade="+Grade+"Address="+Address);
    }//插入語句
    //statement.executeUpdate("");
    insert(statement);//執行帶參數的查詢,有where語句的查詢
    intid=2;
    executeQuery(con,id);//執行更新操作
    updateDate(con,2);
    delete(con,"XX");//刪除數據行
    }catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblock
    System.out.println("找不到驅動程序類,載入驅動失敗!");
    e.printStackTrace();
    }catch(InstantiationExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }catch(IllegalAccessExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }catch(SQLExceptionex){//TODOAuto-generatedcatchblock
    System.out.println("SQLException:"+ex.getMessage());
    System.out.println("SQLState:"+ex.getSQLState());
    System.out.println("VendorError:"+ex.getErrorCode());
    ex.printStackTrace();
    }finally{//第六步:釋放資源
    /**
    *關閉JDBC對象操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:1、關閉記錄集
    *2、關閉聲明3、關閉連接對象
    */
    if(result!=null){//關閉結果集
    try{
    result.close();
    }catch(SQLExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }
    result=null;
    }if(statement!=null){//關閉執行sql語句代碼塊
    try{
    statement.close();
    }catch(SQLExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }
    statement=null;

    }if(con!=null){//關閉連接
    try{
    con.close();
    }catch(SQLExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }
    con=null;
    }
    }
    }

H. java,mysql相關問題

我感覺你的B表那不是四個欄位啊,是一個name欄位中有四個值。樓主我覺得你的問題提的挺亂的。沒看明白你具體啥意思。揣測一下,給你幾個結果:
如果你想用a 表欄位直接關聯b表:
select A.* ,B.name from a A inner join b B on A.欄位名= B.主鍵 where (加a的條件或b的條件)
如果你說的b中有四個欄位,而你每次想用不同的欄位來查詢,那就這樣:
select A.* ,B.name from a A inner join b B on A.欄位名= B.主鍵
where 1=1
<isNotEmpty prepend=" and " property="欄位1參數名">欄位1名字 = #參數1#</isNotEmpty >
<isNotEmpty prepend=" and " property="欄位2參數名">欄位2名字 = #參數2#</isNotEmpty >
<isNotEmpty prepend=" and " property="欄位3參數名">欄位3名字 = #參數3#</isNotEmpty >
<isNotEmpty prepend=" and " property="欄位4參數名">欄位4名字 = #參數4#</isNotEmpty >
你想用哪個欄位就傳哪個進來

I. Java連接資料庫

Connection conn = null;
Class.forName("oracle.jdbc.driver.OracleDriver");//加入oracle的驅動,「」裡面是驅動的路徑

String url = "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL";// 資料庫連接,oracle代表鏈接的是oracle資料庫;thin:@MyDbComputerNameOrIP代表的是資料庫所在的IP地址(可以保留thin:);1521代表鏈接資料庫的埠號;ORCL代表的是資料庫名稱

String UserName = "root";// 資料庫用戶登陸名 ( 也有說是 schema 名字的 )

String Password = "2006";// 密碼

conn = DriverManager.getConnection(url, UserName, Password);

熱點內容
南師大ftp 發布:2025-01-01 23:11:43 瀏覽:326
c和c編譯器安裝教學 發布:2025-01-01 23:10:08 瀏覽:80
安卓原神退款後為什麼登不上 發布:2025-01-01 23:04:30 瀏覽:251
查看服刑人員要編好和密碼是什麼 發布:2025-01-01 23:00:09 瀏覽:703
閑聊賬號密碼是多少 發布:2025-01-01 22:58:26 瀏覽:519
1個機櫃的存儲量 發布:2025-01-01 22:57:49 瀏覽:635
sqlaccess自動編號 發布:2025-01-01 22:47:21 瀏覽:138
android字元截取 發布:2025-01-01 22:47:18 瀏覽:76
如何把服務端部署在伺服器上 發布:2025-01-01 22:46:35 瀏覽:976
內網外網域名訪問 發布:2025-01-01 22:32:35 瀏覽:64