java連接mysql
這篇文章主要以MySQL為例講下Java如何連接到資料庫的。
當然,首先要安裝有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();
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!
-----------------------
執行結果如下所示:
-----------------------
學號 姓名
-----------------------
0104421 周遠行
0208123 王義平
0209120 何問起
0309119 李 維
0309203 歐陽美林
0309226 柯樂義
哈哈,成功啦
Ⅱ 用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();
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!
-----------------------
執行結果如下所示:
-----------------------
學號 姓名
-----------------------
0104421 周遠行
0208123 王義平
0209120 何問起
0309119 李 維
0309203 歐陽美林
0309226 柯樂義
哈哈,成功啦
Ⅲ java中連接MySQL資料庫的幾種方式
1:引入java.sql數據包;
import java.sql.*;
2:載入JDBC驅動程序
Class.forName(JDBC驅動包的名字).newInstance();
3:產生Connection
如已成功載入JDBC驅動程序,就可以利用載入的驅動程序連接資料庫
Connection con=DriverManager.getConnection(URL,UserName,Password);
URL: JDBC:(subprotocol):(subname)
subprotocol:子協議指定連接何種資料庫或用什麼方式連接資料庫;
subname:確立一個連接,可以是一個數據源名,也可是指向一個網上資料庫.
4:各種連接例:
(1) MySQL資料庫
String Dirver="com.mysql.jdbc.Driver";//驅動程序
String URL="jdbc:mysql://localhost:3306/db_name"; //連接的URL,db_name為資料庫名
String UserName="username"; //用戶名
String Password="password"; //密碼
Class.forName(Driver).newInstance(); //載入資料庫驅動
connection con=DriverManager.getConnection(URL,Username,Password);
(2) Microsoft SQL server 資料庫
String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //驅動程序
String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";
//連接的URL,db_name為資料庫
String UserName="username"; //用戶名
String Password="password"; //密碼
Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);
(3) sybase 資料庫
String Driver="com.sybase.jdbc.sybDriver"; //驅動程序
String URL="jdbc:Sybase://localhost:5007/db_name"; //連接的URL,db_name為資料庫
String UserName="username"; //用戶名
String Password="password"; //密碼
Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);
(4) Oracle(用thin模式)資料庫
String Driver="oracle.jdbc.driver.OracleDriver"; //驅動程序
String URL="jdbc:oracle:thin://localhost:1521:orcl";
//連接的URL,orcl為資料庫的SID
String UserName="username"; //用戶名
String Password="password"; //密碼
Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);
(5) 利用JDBC-ODBC橋連接
String Driver="sun.jdbc.odbc.JdbcodbcDriver"; //驅動程序
String URL="jdbc:odbc:dbsource"; //連接的URL,dbsource為數據源名
String UserName="username"; //用戶名
String Password="password"; //密碼
Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);
Ⅳ 在java中怎樣連接mysql資料庫
1.在開發環境中載入指定資料庫的驅動程序。
接下來的實驗中,使用資料庫MySQL,所以需要下載MySQL支持JDBC的驅動程序(mysql-connector-java-5.1.18-bin.jar)。
2.開發環境是MyEclipse,將下載得到的驅動程序載入進開發環境中。
3.在Java程序中載入驅動程序。
在Java程序中,通過「Class.forName(「指定資料庫的驅動程序」)」
方式來載入添加到開發環境中的驅動程序,例如Class.forName(「com.mysql.jdbc.Driver」)。
4.創建數據連接對象:通過DriverManager類創建資料庫連接對象Connection。
DriverManager類作用於Java程序和JDBC驅動程序之間,用於檢查所載入的驅動程序是否可以建立連接,然後通過它的getConnection方法,根據資料庫的URL、用戶名和密碼,創建一個JDBC
Connection對象。代碼如:Connectionconnection=DriverManager.getConnection(「連接資料庫的URL","用戶名",
"密碼」)。
其中,URL=協議名+IP地址(域名)+埠+資料庫名稱;用戶名和密碼是指登錄資料庫時所使用的用戶名和密碼。具體示例創建MySQL的資料庫連接代碼如下:
ConnectionconnectMySQL=
DriverManager.geiConnection(「jdbc:mysql://localhost:3306/myuser","root"
,"root");
5.創建Statement對象:Statement類的主要是用於執行靜態SQL
語句並返回它所生成結果的對象。
通過Connection對象的createStatement()方法可以創建一個Statement對象。例如:Statementstatament=
connection.createStatement();具體示例創建Statement對象代碼如下:StatementstatamentMySQL=connectMySQL.createStatement();
6.調用Statement對象的相關方法執行相對應的SQL
語句:通過execuUpdate()方法用來數據的更新,包括插入和刪除等操作,例如向staff表中插入一條數據的代碼:
statement.excuteUpdate("INSERTINTO
staff(name,age,sex,address,depart,worklen,wage)"+"VALUES('Tom1',321,
'M','china','Personnel','3','3000')");
7.通過調用Statement對象的executeQuery()方法進行數據的查詢,而查詢結果會得到
ResulSet對象,ResulSet表示執行查詢資料庫後返回的數據的集合,ResulSet對象具有可以指向當前數據行的指針。通過該對象的next()方法,使得指針指向下一行,然後將數據以列號或者欄位名取出。如果當next()方法返回null,則表示下一行中沒有數據存在。使用示例代碼如下:
ResultSetresultSel=
statement.executeQuery("select*fromstaff");
8.關閉資料庫連接:使用完資料庫或者不需要訪問資料庫時,通過Connection的close()方法及時關閉數據連接。
Ⅳ 怎樣用java連接mysql
Java MySQL 連接
Java 連接 MySQL 需要驅動包,網路就有自行下載,解壓後得到jar庫文件,然後在對應的項目中導入該庫文件。
本實例使用的是 Eclipse,導入 jar 包:
我有一個微信公眾號,經常會分享一些Java技術相關的干貨,還有一些學習資源。
如果你喜歡我的分享,可以用微信搜索「Java團長」或者「javatuanzhang」關注。
Ⅵ java如何連接mySQL資料庫
1.下面代碼是使用jdbc直接來鏈接mysql的操作,方式與SQL SERVER類似,區別在於載入的驅動不同,url的設置也有點區別。
Ⅶ java怎樣連接mysql資料庫
1、java連接MySQL資料庫需要有一個驅動jar包
例如:mysql-connector-java-5.1.26-bin.jar,
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類來調用連接類裡面的getResultSet方法和DML,實現自己所需用的功能。
Ⅷ java怎樣鏈接mysql資料庫
java可以通過JDBC鏈接mysql資料庫
工具:
jdbc
myeclipse
mysql
方法如下:
下圖中的代碼為java通過jdbc連接mydql的代碼,url,用戶名、密碼、埠號這些設置為自己的編譯環境就可以
Ⅸ 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";
="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+" "+ufname+" "+ulname+" "+udate);
}//顯示數據
ret.close();
db1.close();//關閉連接
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
3,查詢結果如下:
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd">
<!--配置數據源-->
<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=""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.**."/>
<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>
<value>com...*.service.*</value>
</list>
</property>
</bean>
<aop:config>
<aop:advisoradvice-ref="druid-stat-interceptor"
pointcut-ref="druid-stat-pointcut"/>
</aop:config>
</beans>
還有很多方式可以實現,這里就簡略的描述一番。