導航:首頁 > 編程語言 > javamysql連接類

javamysql連接類

發布時間:2022-09-14 16:05:11

java 連接mysql 有幾種方法

如果從內在原理來講就是一種:先載入驅動程序再獲得連接
如果從操作來講我把他分三種:
1,直接在你的代碼中用代碼寫出載入驅動和獲得連接的代碼
2,在windows的數據源中配置一個數據源,這種方法一般不用
3,如果是網站開發可以在web應用的web.xml中配置一個連接池,用時直接從池中獲得連接.
java與資料庫的連接都是通過JDBC介面實現的你如果要問的是JDBC的種類的話你可以查數就4類
1,jdbc-odbc橋
2,jdbc-native方法
3,jdbc-網路
4,jdbc驅動
你如果問JDBC具體有哪些,那隻能告訴你有幾種資料庫就有幾種JDBC.

Ⅱ 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連接mysql

方法如下:

1、寫一個打開或關閉資料庫的代碼

packagecom.hu.demo;

importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.SQLException;

publicclassDBHelper{
publicstaticfinalStringurl="寫自己的地址";
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、執行操作資料庫的代碼

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、執行程序後,顯示測試成功

Ⅳ java連接資料庫(mysql)寫入和讀取的類怎麼寫,請帶詳細注釋



importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.Statement;

public class InsertDemo01{

//定義MySQL的資料庫驅動程序

public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;

//定義MySQL資料庫的連接地址

public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;

//MySQL資料庫的連接用戶名

public static final String DBUSER = "root" ;

//MySQL資料庫的連接密碼

public static final String DBPASS = "mysqladmin" ;

public static void main(Stringargs[]) throws Exception {//所有的異常拋出

Connectionconn= null ;//資料庫連接

Statement stmt = null ;//資料庫操作

Class.forName(DBDRIVER) ;//載入驅動程序

Stringsql= "INSERT INTO user(name,password,age,sex,birthday) "+

" VALUES ('李興華','www.mldn.cn',30,'男','2008-08-27')" ;

conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

stmt =conn.createStatement() ;//實例化Statement對象

stmt.executeUpdate(sql) ;//執行資料庫更新操作

stmt.close() ;//關閉操作

conn.close() ;//資料庫關閉

}

};


Ⅳ 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>

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

Ⅵ java中連接MySQL資料庫的幾種方式

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

  2. 安裝好mysql之後,安裝JDK了。

  3. 安裝好JDK之後,就是安裝Eclipse了,要支持JDK版本,Eclipse安裝的時候會自動去找JDK安裝位置的,解壓版的Eclipse,就要配置eclipse.ini文件了,將對應的JDK配置好,這些已經准備就緒的時候,就到mysql中創建資料庫和表。

  4. 先創建資料庫:

    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, ...);

  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

JDBC連接資料庫
•創建一個以JDBC連接資料庫的程序,包含7個步驟:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驅動程序類 ,載入驅動失敗!");
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例注冊到DriverManager類中。
2、提供JDBC連接的URL
•連接URL定義了連接資料庫時的協議、子協議、數據源標識。
•書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,
該對象就代表一個資料庫的連接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和
密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("資料庫連接失敗!");
se.printStackTrace() ;
}
4、創建一個Statement
•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3
種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}") ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句
,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的
語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
• ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些
行中數據的訪問。
• 使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ; // 此方法比較高效
}
(列是從左到右編號的,並且從列1開始)
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲
明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}

Ⅷ 怎樣用java連接mysql

//就只有4個步驟:1.載入驅動;2.鏈接資料庫;3.執行命令;4.關閉資料庫;
importjava.sql.*;
classMysqlConnection
{
/*要是更換資料庫,就直接更換這些語句就行了,main函數的那些都不用動的,主要是驅動(DBDRIVER)和鏈接方式(DBURL)*/
privatestaticStringDBDRIVER="org.gjt.mm.mysql.Driver";//這個是與下載jdbc-mysql裡面的那個driver.class文件是對應的,你
//可以解壓找下,會發覺驅動就是那個鬼東西的。。
privatestaticStringDBURL="jdbc:mysql://localhost:3306/study";/*
jdbc:mysql://localhost:3306:test這句裡面分如下解析:
jdbc:mysql://是指JDBC連接方式;
localhost:是指你的本機地址;
3306SQL資料庫的埠號;
study就是你要連接的資料庫的地址。
你可以試下不要這個'study',或者胡亂接一個不存在的資料庫,
然後還可以執行下面語句來實現連接資料庫(a)
*/
privatestaticStringDBUSER="scott";
privatestaticStringDBPASSWORD="tiger";
publicstaticvoidmain(String[]args)throwsException
{
Class.forName(DBDRIVER);//1.載入驅動
Connectionconn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);//2.獲得鏈接
Statementstatement=conn.createStatement();//3.執行命令
//statement.executeUpdate("usestudy");//(a)要是沒有上面的那個資料庫,就要使用這個函數來連接資料庫
ResultSetresult=statement.executeQuery("SELECT*FROMemp");//結果收集,迭代
while(result.next()){
printf(result.getObject(1)+"");
printf(result.getObject(2)+"");
printf(result.getObject(3)+"");
printf(result.getObject(4)+" ");
}
conn.close();
}
publicstaticvoidprintf(Objectobj){
System.out.print(obj);
}
publicstaticvoidprintfln(Objectobj){
System.out.println(obj);
}
}

Ⅸ java是怎麼連接mysql資料庫的

用JDBC連接資料庫

首先要下載Connector/J地址:http://www.mysql.com/downloads/connector/j/

這是MySQL官方提供的連接方式:

解壓後得到jar庫文件,需要在工程中導入該庫文件

這個地址對你有幫助:http://hzy3774.iteye.com/blog/1689525

下面是一個例子:

你要下載驅動的jar包:我用的是mysql-connector-java-5.1.8-bin.jar,並讓java工程載入這個jar。
從網上摘抄的代碼:
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();
}
}
}

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

}
閱讀全文

與javamysql連接類相關的資料

熱點內容
壓縮因子定義 瀏覽:968
cd命令進不了c盤怎麼辦 瀏覽:214
葯業公司招程序員嗎 瀏覽:974
毛選pdf 瀏覽:659
linuxexecl函數 瀏覽:727
程序員異地戀結果 瀏覽:374
剖切的命令 瀏覽:229
干什麼可以賺錢開我的世界伺服器 瀏覽:290
php備案號 瀏覽:990
php視頻水印 瀏覽:167
怎麼追程序員的女生 瀏覽:487
空調外壓縮機電容 瀏覽:79
怎麼將安卓變成win 瀏覽:459
手機文件管理在哪兒新建文件夾 瀏覽:724
加密ts視頻怎麼合並 瀏覽:775
php如何寫app介面 瀏覽:804
宇宙的琴弦pdf 瀏覽:396
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328