本文目錄一覽:
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-hk/n/300685.html