String url="jdbc:mysql://localhost:3306/sample_db?user=rootpassword=your_password";
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),洛扎網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:洛扎等地區(qū)。洛扎做網(wǎng)站價(jià)格咨詢:028-86922220
例如:
import?java.sql.DriverManager;
import?java.sql.ResultSet;
import?java.sql.SQLException;
import?java.sql.Connection;
import?java.sql.Statement;
public?class?MysqlDemo?{
public?static?void?main(String[]?args)?throws?Exception?{
Connection?conn?=?null;
String?sql;
//?MySQL的JDBC?URL編寫方式:jdbc:mysql://主機(jī)名稱:連接端口/數(shù)據(jù)庫(kù)的名稱?參數(shù)=值
//?避免中文亂碼要指定useUnicode和characterEncoding
//?執(zhí)行數(shù)據(jù)庫(kù)操作之前要在數(shù)據(jù)庫(kù)管理系統(tǒng)上創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),名字自己定,
//?下面語(yǔ)句之前就要先創(chuàng)建javademo數(shù)據(jù)庫(kù)
String?url?=?"jdbc:mysql://localhost:3306/javademo?"
+?"user=rootpassword=rootuseUnicode=truecharacterEncoding=UTF8";
try?{
//?之所以要使用下面這條語(yǔ)句,是因?yàn)橐褂肕ySQL的驅(qū)動(dòng),所以我們要把它驅(qū)動(dòng)起來(lái),
//?可以通過(guò)Class.forName把它加載進(jìn)去,也可以通過(guò)初始化來(lái)驅(qū)動(dòng)起來(lái),下面三種形式都可以
Class.forName("com.mysql.jdbc.Driver");//?動(dòng)態(tài)加載mysql驅(qū)動(dòng)
//?or:
//?com.mysql.jdbc.Driver?driver?=?new?com.mysql.jdbc.Driver();
//?or:
//?new?com.mysql.jdbc.Driver();
System.out.println("成功加載MySQL驅(qū)動(dòng)程序");
//?一個(gè)Connection代表一個(gè)數(shù)據(jù)庫(kù)連接
conn?=?DriverManager.getConnection(url);
//?Statement里面帶有很多方法,比如executeUpdate可以實(shí)現(xiàn)插入,更新和刪除等
Statement?stmt?=?conn.createStatement();
sql?=?"create?table?student(NO?char(20),name?varchar(20),primary?key(NO))";
int?result?=?stmt.executeUpdate(sql);//?executeUpdate語(yǔ)句會(huì)返回一個(gè)受影響的行數(shù),如果返回-1就沒(méi)有成功
if?(result?!=?-1)?{
System.out.println("創(chuàng)建數(shù)據(jù)表成功");
sql?=?"insert?into?student(NO,name)?values('2012001','陶偉基')";
result?=?stmt.executeUpdate(sql);
sql?=?"insert?into?student(NO,name)?values('2012002','周小俊')";
result?=?stmt.executeUpdate(sql);
sql?=?"select?*?from?student";
ResultSet?rs?=?stmt.executeQuery(sql);//?executeQuery會(huì)返回結(jié)果的集合,否則返回空值
System.out.println("學(xué)號(hào)\t姓名");
while?(rs.next())?{
System.out
.println(rs.getString(1)?+?"\t"?+?rs.getString(2));//?入如果返回的是int類型可以用getInt()
}
}
}?catch?(SQLException?e)?{
System.out.println("MySQL操作錯(cuò)誤");
e.printStackTrace();
}?catch?(Exception?e)?{
e.printStackTrace();
}?finally?{
conn.close();
}
}
}
連接代碼如下:
public static void main(String[] args){
// 驅(qū)動(dòng)程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要訪問(wèn)的數(shù)據(jù)庫(kù)名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置時(shí)的用戶名
String user = "root";
// MySQL配置時(shí)的密碼
String password = "root";
try {
// 加載驅(qū)動(dòng)程序
Class.forName(driver);
// 連續(xù)數(shù)據(jù)庫(kù)
Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
// statement用來(lái)執(zhí)行SQL語(yǔ)句
Statement statement = conn.createStatement();
// 要執(zhí)行的SQL語(yǔ)句
String sql = "select * from student";
// 結(jié)果集
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("執(zhí)行結(jié)果如下所示:");
System.out.println("-----------------");
System.out.println(" 學(xué)號(hào)" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
while(rs.next()) {
// 選擇sname這列數(shù)據(jù)
name = rs.getString("sname");
// 首先使用ISO-8859-1字符集將name解碼為字節(jié)序列并將結(jié)果存儲(chǔ)新的字節(jié)數(shù)組中。
// 然后使用GB2312字符集解碼指定的字節(jié)數(shù)組
name = new String(name.getBytes("ISO-8859-1"),"GB2312");
// 輸出結(jié)果
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();
}
jdbc:mysql://localhost:3306:test這句里面分如下解析:
jdbc:mysql:// 是指JDBC連接方式;
localhost: 是指你的本機(jī)地址;
3306 SQL數(shù)據(jù)庫(kù)的端口號(hào);
test 就是你要連接的數(shù)據(jù)庫(kù)的地址。