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

javamysql庫

發布時間: 2024-01-13 07:14:19

『壹』 Mysqljava的一部分嗎

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

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

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

『貳』 java使用Mysql資料庫要怎麼配置

需要,個人覺得jdbc 是比其他的方便
舉例來說:
我用的java的編輯器是jcreator pro 資料庫為 mysql
那麼你只需在mysql官方網站上下載一個windows 的mysqljdbc 然後把解壓
jdk路徑下的jre下的ext中 然後在jcreator pro中"配置"菜單下的jdk設置中編輯添加下載來的mysql_jdbc.rar的位元組碼文件 即可用了

『叄』 java如何訪問資料庫(java訪問mysql資料庫)

Java可以使用JDBC訪問資料庫,也可以使用各類ORM框架訪問資料庫,但這些框架最終還是通過JDBC訪問資料庫,它們只是封裝了資料庫操作,而使得開發者可以減少這部分消耗。因此,本文只講解JDBC訪問方式。

JDBC訪問一般分為如下流程:

1、載入JDBC驅動程序:

在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),這通過java.lang.Class類的靜態方法forName(StringclassName)實現。

例如:

try{

//載入MySql的驅動類

Class.forName("com.mysql.jdbc.Driver");

}catch(e){

System.out.println("找不到驅動程序類,載入驅動失敗!");

e.();

}

成功載入後,會將Driver類的實例注冊到類中。

2、提供JDBC連接的URL

連接URL定義了連接資料庫時的協議、子協議、數據源標識。

書寫形式:協議:子協議:數據源標識

協議:在JDBC中總是以jdbc開始

子協議:是橋連接的驅動程序或是資料庫管理系統名稱。

數據源標識:標記找到資料庫來源的地址與連接埠。

例如:(MySql的連接URL)

jdbc:mysql://localhost:3306/test?useUnicode=true&=gbk;

useUnicode=true:表示使用Unicode字元集。如果設置為

gb2312或GBK,本參數必須設置為true。=gbk:字元編碼方式。

3、創建資料庫的連接

要連接資料庫,需要向java.sql.請求並獲得Connection對象,該對象就代表一個資料庫的連接。

使用的(Stringurl,Stringusername,Stringpassword)方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和密碼來獲得。

例如:

//連接MySql資料庫,用戶名和密碼都是root

Stringurl="jdbc:mysql://localhost:3306/test";

Stringusername="root";

Stringpassword="root";

try{

Connectioncon=

.(url,username,password);

}catch(se){

System.out.println("資料庫連接失敗!");

se.();

}

4、創建一個Statement

要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:

1、執行靜態SQL語句。通常通過Statement實例實現。

2、執行動態SQL語句。通常通過實例實現。

3、執行資料庫存儲過程。通常通過實例實現。

具體的實現方式:

Statementstmt=con.();

PreparedStatementpstmt=con.prepareStatement(sql);

CallableStatementcstmt=con.prepareCall("{CALLdemoSp(?,?)}");

5、執行慧轎SQL語句

Statement介面提供了三種執行SQL語句的方法:executeQuery、executeUpdate和execute

1、ResultSetexecuteQuery(StringsqlString):執行查詢資料庫的SQL語句,返回一個結果集(ResultSet)對象。

2、intexecuteUpdate(StringsqlString):用於執行INSERT、UPDATE或DELETE語句以及SQLDDL語句,如:CREATETABLE和DROPTABLE等

3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的語句。

具芹尺體實現的代碼:

ResultSetrs=stmt.executeQuery("SELECT*FROM...");

introws=stmt.executeUpdate("INSERTINTO...");

booleanflag=stmt.execute(Stringsql);

6、處理結果

兩種情況:

1、執行更新返回的是本次操作影響到的記錄數。

2、執行查詢返回的結果是一個ResultSet對象。

ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提嫌碧高供了對這些行中數據的訪問。

使用結果集(ResultSet)對象的訪問方法獲取數據:

while(rs.next()){

Stringname=rs.getString("name");

Stringpass=rs.getString(1);//此方法比較高效(列是從左到右編號的,並且從列1開始)

}

7、關閉JDBC對象

操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:

1、關閉記錄集

2、關閉聲明

3、關閉連接對象

if(rs!=null){//關閉記錄集

try{

rs.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

if(stmt!=null){//關閉聲明

try{

stmt.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

if(conn!=null){//關閉連接對象

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

『肆』 java是怎麼連接mysql資料庫的

1、java連接MySQL資料庫需要有一個驅動jar包

例如:mysql-connector-java-5.1.26-bin.jar,該驅動jar可以自行網路搜索最新包下載放在項目的lib目錄下即可。

2、連接代碼如下

package.test.jsp;

importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;

importjavax.naming.spi.DirStateFactory.Result;

publicclassDbConnection{
privatestaticConnectionconn;
publicDbConnection(){
Stringdrivername="com.mysql.jdbc.Driver";
Stringusername="root";
Stringurl="jdbc:mysql://localhost/jsptest?useUnicode=true&characterEncoding=UTF-8";
Stringpassword="";
//載入驅動
try{
Class.forName(drivername);
}catch(ClassNotFoundExceptione){
System.out.println("驅動載入失敗!");
e.printStackTrace();
}
//建立連接
try{
conn=DriverManager.getConnection(url,username,password);
}catch(SQLExceptione){
System.out.println("資料庫連接失敗!");
e.printStackTrace();
}


}
//getResultSet
publicResultSetGetResultSet(Stringsql)
{
ResultSetrs=null;
//statemanage
try{
Statementst=conn.createStatement();
rs=st.executeQuery(sql);
}catch(SQLExceptione){
System.out.println("狀態管理器創建失敗");
e.printStackTrace();
}
returnrs;

}
//DML
publicintDML(Stringsql)
{
intcount=-1;
try{
Statementstatement=conn.createStatement();
count=statement.executeUpdate(sql);
}catch(SQLExceptione){
System.out.println("狀態管理器創建失敗");
e.printStackTrace();
}

returncount;

}

}

3、可以新建service類來調用連接類裡面的方法,實現自己所需用的功能。

『伍』 java連接mysql資料庫jar包怎麼導入

java連接mysql資料庫jar包導入:
1.將所有的jar包都是放到web工程lib目錄下,mysql-connector-java-x.x-bin.jar也是一樣,把該JAR包拷貝到lib目錄下即可

2用jdbc直接鏈接mysql代碼如下

public static void main(String[] args) throws SQLException {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day15", "root", "123456");
System.out.println(conn.getClass().getName());
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select id,name,password,email,birthday from users");
while (rs.next()) {
System.out.println("-------------------------");
System.out.println(rs.getObject("id"));
System.out.println(rs.getObject("name"));
System.out.println(rs.getObject("password"));
System.out.println(rs.getObject("email"));
System.out.println(rs.getObject("birthday"));
}
rs.close();
stmt.close();
conn.close();
}

『陸』 java是怎麼連接mysql資料庫的

方法/步驟

1、Java要連接資料庫,那麼首先你必須安裝mysql資料庫

5、下面,我們來編寫.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") + " " + 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資料庫

當然,首先要安裝有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.5mysql-connector-java-5.0.5-bin.jar加到最後,在加這個字元串前要加「;」,以與前一個classpath區分開。然後確定。

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

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

先創建資料庫:

CREATEDATABASESCUTCS;

接著,創建表:

CREATETABLESTUDENT

(

SNOCHAR(7)NOTNULL,SNAMEVARCHAR(8)NOTNULL,SEXCHAR(2)NOTNULL,BDATEDATENOTNULL,HEIGHTDEC(5,2)DEFAULT000.00,PRIMARYKEY(SNO)

);

然後插入數據,可以用SQL語句insertinto<表名>values(value1,value2,...);

也可以用SQLyog來操作

好了,創建好了。

下面,我們來編寫.java文件來演示一下如何訪問MySQL資料庫。

importjava.sql.*;

publicclassJDBCTest{

publicstaticvoidmain(String[]args){

//驅動程序名

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

//URL指向要訪問的資料庫名scutcs

Stringurl="jdbc:mysql://127.0.0.1:3306/scutcs";

//MySQL配置時的用戶名

Stringuser="root";

//MySQL配置時的密碼

Stringpassword="root";

try{

//載入驅動程序

Class.forName(driver);

//連續資料庫

Connectionconn=.(url,user,password);

if(!conn.isClosed())

System.out.println("!");

//statement用來執行SQL語句

Statementstatement=conn.();

//要執行的SQL語句

Stringsql="select*fromstudent";

//結果集

ResultSetrs=statement.(sql);

System.out.println("-----------------");

System.out.println("執行結果如下所示:");

System.out.println("-----------------");

System.out.println("學號"" ""姓名");

System.out.println("-----------------");

Stringname=null;

while(rs.next()){

//選擇sname這列數據

name=rs.getString("sname");

/*何問起hovertree*/

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

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

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

//輸出結果

System.out.println(rs.getString("sno")" "name);

}

rs.close();

『捌』 java中怎麼連接mysql資料庫

java鏈接MySQL資料庫和鏈接其他資料庫, 基本都是一樣的套路

  • 准備工作:

    1: 資料庫驅動. 導入項目

    2: 啟動MySQL服務

  • 編碼工作:

//1.注冊驅動
Class.forName("com.mysql.jdbc.Driver");
//2.連接資料庫
Connectionconn=DriverManager.getConnection(DB_URL,NAME,PSWD);
//資料庫地址,用戶名,密碼
//3.准備執行sql語句
Statementstat=conn.createStatement();

『玖』 Java如何實現對Mysql資料庫的行鎖

下面通過一個例子來說明
場景如下:
用戶賬戶有餘額,當發生交易時,需要實時更新余額。這里如果發生並發問題,那麼會造成用戶余額和實際交易的不一致,這對公司和客戶來說都是很危險的。
那麼如何避免:
網上查了下,有以下兩種方法:
1、使用悲觀鎖
當需要變更余額時,通過代碼在事務中對當前需要更新的記錄設置for update行鎖,然後開始正常的查詢和更新操作
這樣,其他的事務只能等待該事務完成後方可操作
當然要特別注意,如果使用了Spring的事務註解,需要配置一下:

<!-- (事務管理)transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 使用annotation定義事務 -->
<tx:annotation-driven transaction-manager="transactionManager" />

在指定代碼處添加事務註解

@Transactional
@Override
public boolean increaseBalanceByLock(Long userId, BigDecimal amount)
throws ValidateException {
long time = System.currentTimeMillis();
//獲取對記錄的鎖定
UserBalance balance = userBalanceDao.getLock(userId);
LOGGER.info("[lock] start. time: {}", time);
if (null == balance) {
throw new ValidateException(
ValidateErrorCode.ERRORCODE_BALANCE_NOTEXIST,
"user balance is not exist");
}
boolean result = userBalanceDao.increaseBalanceByLock(balance, amount);
long timeEnd = System.currentTimeMillis();
LOGGER.info("[lock] end. time: {}", timeEnd);
return result;
}

MyBatis中的鎖定方式,實際測試該方法確實可以有效控制,不過在大並發量的情況下,可能會有性能問題吧
<select id="getLock" resultMap="BaseResultMap" parameterType="java.lang.Long">
<![CDATA[
select * from user_balance where id=#{id,jdbcType=BIGINT} for update;
]]>
</select>

2、使用樂觀鎖
這個方法也同樣可以解決場景中描述的問題(我認為比較適合並不頻繁的操作):
設計表的時候增加一個version(版本控制欄位),每次需要更新余額的時候,先獲取對象,update的時候根據version和id為條件去更新,如果更新回來的數量為0,說明version已經變更
需要重復一次更新操作,如下:sql腳本

update user_balance set Balance = #{balance,jdbcType=DECIMAL},Version = Version+1 where Id = #{id,jdbcType=BIGINT} and Version = #{version,jdbcType=BIGINT}

這是一種不使用資料庫鎖的方法,解決方式也很巧妙。當然,在大量並發的情況下,一次扣款需要重復多次的操作才能成功,還是有不足之處的。不知道還有沒有更好的方法。

熱點內容
機加工的編程 發布:2024-11-30 00:31:19 瀏覽:726
坦克世界電腦什麼配置 發布:2024-11-30 00:30:41 瀏覽:316
如何在手機設置上找到網路的密碼 發布:2024-11-30 00:18:29 瀏覽:413
和鷹加密鎖 發布:2024-11-30 00:17:17 瀏覽:555
C語言舞會 發布:2024-11-30 00:15:44 瀏覽:377
java下載我的世界 發布:2024-11-30 00:11:08 瀏覽:12
華三配置器升級失敗怎麼回事 發布:2024-11-30 00:09:23 瀏覽:841
汽車空調壓縮機壽命 發布:2024-11-30 00:06:04 瀏覽:566
電腦網路波動異常與伺服器失去連接 發布:2024-11-29 23:43:19 瀏覽:246
個人電腦與伺服器架構類似 發布:2024-11-29 23:40:59 瀏覽:704