Câu trả lời:
Giả sử trình điều khiển của bạn đang trên đường,
String url = "jdbc:mysql://localhost/test";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
Connection conn = DriverManager.getConnection (url, "username", "password");
Đây là tài liệu:
https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properIES.html
Một chuỗi kết nối cơ bản trông như:
jdbc:mysql://localhost:3306/dbname
Chuỗi class.forName là "com.mysql.jdbc.Driver", mà bạn có thể tìm thấy (chỉnh sửa: bây giờ trên cùng một trang).
useOldAliasMetadataBehavior=true
, useUnicode=true
,characterEncoding=UTF-8
"jdbc:mysql://localhost"
Từ các tài liệu tiên tri ..
jdbc:mysql://[host][,failoverhost...]
[:port]/[database]
[?propertyName1][=propertyValue1]
[&propertyName2][=propertyValue2]
máy chủ: cổng là tên máy chủ và số cổng của máy tính lưu trữ cơ sở dữ liệu của bạn. Nếu không được chỉ định, các giá trị mặc định của máy chủ và cổng lần lượt là 127.0.0.1 và 3306.
cơ sở dữ liệu là tên của cơ sở dữ liệu để kết nối. Nếu không được chỉ định, một kết nối được tạo mà không có cơ sở dữ liệu mặc định.
failover là tên của cơ sở dữ liệu dự phòng (MySQL Connector / J hỗ trợ chuyển đổi dự phòng).
propertyName = propertyValue đại diện cho một danh sách các thuộc tính tùy chọn, được phân tách bằng dấu và. Các thuộc tính này cho phép bạn hướng dẫn MySQL Connector / J thực hiện các tác vụ khác nhau.
useOldAliasMetadataBehavior=true
, useUnicode=true
, characterEncoding=UTF-8
jdbc:mysql://[host][:port]/[database]?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=UTF-8
Nó rất đơn giản:
jdbc:mysql://<hostname>:<port>/<dbname>?prop1
vv ở đâu <hostname>
và <port>
được đưa ra trong tab kết nối. Nó chủ yếu sẽ là localhost: 3306. <dbname>
sẽ được tìm thấy trong tab Hồ sơ hệ thống trong Tên dịch vụ Windows. Mặc định chủ yếu sẽ là MySQL5 <x>
trong đó x là số phiên bản, vd. 56 cho MySQL5.6 và 55 cho MySQL5.5, v.v. Bạn có thể chỉ định tên Dịch vụ Windows của riêng mình để kết nối.Đối với Mysql, chuỗi kết nối Trình điều khiển jdbc là com.mysql.jdbc.Driver . Sử dụng mã sau đây để được kết nối: -
class DBConnection {
private static Connection con = null;
private static String USERNAME = "your_mysql_username";
private static String PASSWORD = "your_mysql_password";
private static String DRIVER = "com.mysql.jdbc.Driver";
private static String URL = "jdbc:mysql://localhost:3306/database_name";
public static Connection getDatabaseConnection(){
Class.forName(DRIVER);
return con = DriverManager.getConnection(URL,USERNAME,PASSWORD);
}
}
cập nhật cho myQuery 8:
String jdbcUrl="jdbc:mysql://localhost:3306/youdatabase?useSSL=false&serverTimezone=UTC";
Vì câu trả lời dường như đã được trả lời, không có gì nhiều để thêm nhưng tôi muốn thêm một điều vào các câu trả lời hiện có. Đây là cách tải lớp cho trình điều khiển JDBC cho mysql
com.mysql.jdbc.Driver
Nhưng điều này bây giờ không được chấp nhận. Lớp trình điều khiển mới bây giờ
com.mysql.cj.jdbc.Driver
Ngoài ra, trình điều khiển được đăng ký tự động thông qua SPI và tải thủ công của lớp trình điều khiển nói chung là không cần thiết.
String url = "jdbc:mysql://localhost:3306/dbname";
String user = "user";
String pass = "pass";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
Connection conn = DriverManager.getConnection (url, user, pass);
3306
là cổng mặc định cho mysql.
Nếu bạn đang sử dụng Java 7 thì không cần phải thêm Class.forName("com.mysql.jdbc.Driver").newInstance ();
câu lệnh. Quản lý tài nguyên tự động (ARM) được thêm vào trong JDBC 4.1, mặc định trong Java 7.
Định dạng chung cho URL JDBC để kết nối với máy chủ MySQL như sau, với các mục trong ngoặc vuông ([]) là tùy chọn:
jdbc:mysql://[host1][:port1][,[host2][:port2]]...[/[database]] »
[?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]
nó phụ thuộc vào dịch vụ bạn đang sử dụng.
Nếu bạn sử dụng MySQL Workbench, nó sẽ giống như thế này:
jdbc: mysql: // "máy chủ": "số cổng" /
String url = "jdbc:mysql://localhost:3306/";
Và tất nhiên sẽ khác nếu bạn sử dụng SSL / SSH.
Để biết thêm thông tin, hãy theo liên kết chính thức của Jetbriens (ý tưởng intelliJ):
https://www.jetbrains.com/help/idea/connecting-to-a-database.html
Định cấu hình kết nối cơ sở dữ liệu #
https://www.jetbrains.com/help/idea/configuring-database-connections.html
Class.forName()
không mong đợi một chuỗi kết nối JDBC, nhưng tên lớp trình điều khiển JDBC.