1- Giới thiệu
Tài liệu này hướng dẫn các bạn download thư viện điều khiển một loại cơ sở dữ liệu nào đó, hiện tại tôi hướng dẫn trên các loại database:
2- Thư viện điều khiển Database Oracle
Thư viện điều khiển cơ sở dữ liệu Oracle thường có tên ojdbc14.jar, ojdbc6.jar, ... sự khác biệt chỉ là nó được biên dịch bởi java phiên bản nào. Chẳng hạn:
ojdbc14.jar: được biên dịch và đóng gói bởi Java phiên bản 1.4
ojdbc6.jar: được biên dịch và đóng gói bởi Java phiên bản 6.
Bạn có thể download file ojdbc6.jar, nó có thể điều khiển cho database Oracle các phiên bản khác nhau (XE, 10g, 11g, 12). Mà hầu hết các ứng dụng Java thời điểm này đều sử dụng Java phiên bản 6 hoặc mới hơn.
Việc download tại website của Oracle đòi hỏi bạn phải có tài khoản Oracle (Đăng ký miễn phí).
2.1- Maven cho Oracle JDBC Driver
<repositories>
<!-- Repository for ORACLE ojdbc6. -->
<repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
</repository>
</repositories>
.......
<dependencies>
......
<!-- Oracle database driver -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
.......
</dependencies>
2.2- Cách sử dụng (ojdbc)
// Driver class:
oracle.jdbc.driver.OracleDriver
// URL Connection String: (SID)
String urlString ="jdbc:oracle:thin:@myhost:1521:mysid"
// URL Connection String: (Service Name)
String urlString ="jdbc:oracle:thin:username/pass@//myhost:1521/myservicename"
// Or:
String urlString ="jdbc:oracle:thin:@myhost:1521/myservicename";
Ví dụ kết nối JDBC vào cơ sở dữ liệu Oracle.
OracleConnUtils.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class OracleConnUtils {
public static Connection getOracleConnection()
throws ClassNotFoundException, SQLException {
String hostName = "localhost";
String sid = "db11g";
String userName = "learningsql";
String password = "1234";
return getOracleConnection(hostName, sid, userName, password);
}
public static Connection getOracleConnection(String hostName, String sid,
String userName, String password) throws ClassNotFoundException,
SQLException {
// Khai báo class Driver cho DB Oracle
// Việc này cần thiết với Java 5
// Java6 trở lên tự động tìm kiếm Driver thích hợp.
// Nếu bạn dùng Java > 6, thì ko cần dòng này cũng được.
Class.forName("oracle.jdbc.driver.OracleDriver");
// Cấu trúc URL Connection dành cho Oracle
// Ví dụ: jdbc:oracle:thin:@localhost:1521:db11g
String connectionURL = "jdbc:oracle:thin:@" + hostName + ":1521:" + sid;
Connection conn = DriverManager.getConnection(connectionURL, userName,
password);
return conn;
}
}
3- Thư viện điều khiển Database MySQL
Bạn có thể download các thư viện điều khiển cơ sở dữ liệu MySQL tại:
http://mvnrepository.com/artifact/mysql/mysql-connector-java
3.1- Cách sử dụng
Cách sử dụng: ( MySQL)
// Driver class:
com.mysql.jdbc.Driver
// URL Connection String:
String url = "jdbc:mysql://hostname:3306/dbname";
// Ví dụ:
String url = "jdbc:mysql://localhost:3306/simplehr";
Ví dụ sử dụng JDBC kết nối vào Database MySQL
MySQLConnUtils.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnUtils {
public static Connection getMySQLConnection()
throws ClassNotFoundException, SQLException {
String hostName = "localhost";
String dbName = "learningsql";
String userName = "root";
String password = "12345";
return getMySQLConnection(hostName, dbName, userName, password);
}
public static Connection getMySQLConnection(String hostName, String dbName,
String userName, String password) throws SQLException,
ClassNotFoundException {
// Khai báo class Driver cho DB MySQL
// Việc này cần thiết với Java 5
// Java6 trở lên tự động tìm kiếm Driver thích hợp.
// Nếu bạn dùng Java > 5, thì ko cần dòng này cũng được.
Class.forName("com.mysql.jdbc.Driver");
// Cấu trúc URL Connection dành cho MySQL
// Ví dụ: jdbc:mysql://localhost:3306/simplehr
String connectionURL = "jdbc:mysql://" + hostName + ":3306/" + dbName;
Connection conn = DriverManager.getConnection(connectionURL, userName,
password);
return conn;
}
}
3.2- Một số rắc rối và cách khắc phục
Trong một số trường hợp kết nối vào MySQL từ Java hoặc đơn giản là từ máy khác bị lỗi, nguyên nhân có thể bạn chưa cấu hình MySQL server cho phép kết nối từ máy khác.
4- Thư viện điều khiển Database SQL Server (JTDS)
JTDS là một thư viện khác điều khiển database SQLServer, nó là một thư viện mã nguồn mở.
jTDS: là một mã nguồn mở thuần Java 100% (type 4) JDBC 3.0 điều khiển cho Microsoft SQL Server (6,5, 7, 2000, 2005, 2008, 2012) và Sybase ASE (10, 11, 12, 15). jTDS dựa trên FreeTDS và hiện là trình điều khiển JDBC nhanh nhất cho SQL Server và Sybase. jTDS là 100% tương thích với JDBC 3.0, hỗ trợ forward-only và scrollable/updateable ResultSet và thực hiện tất cả các phương thức của DatabaseMetaData và ResultSetMetaData.
4.1- Cách sử dụng (jtds)
Cách sử dụng: (SQL Server)
// Driver Class
net.sourceforge.jtds.jdbc.Driver
// Connection URL String:
jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]
// Example 1:
String url = "jdbc:jtds:sqlserver://MYPC:1433/simplehr;instance=SQLEXPRESS;user=sa;password=s3cr3t";
getConnection(url);
// Example 2:
String url = "jdbc:jtds:sqlserver://MYPC:1433/simplehr;instance=SQLEXPRESS";
getConnection(url, "sa", "s3cr3t"):
Ví dụ sử dụng JDBC kết nối vào Database SQLServer sử dụng thư viện JTDS.
SQLServerConnUtils_JTDS.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class SQLServerConnUtils_JTDS {
// Kết nối vào SQLServer.
// (Sử dụng thư viện điều khiển JTDS)
public static Connection getSQLServerConnection_JTDS() throws SQLException,
ClassNotFoundException {
String hostName = "localhost";
String sqlInstanceName = "SQLEXPRESS";
String database = "simplehr";
String userName = "sa";
String password = "12345";
return getSQLServerConnection_JTDS(hostName, sqlInstanceName, database,
userName, password);
}
// Trường hợp sử dụng SQLServer.
// Và thư viện JTDS.
private static Connection getSQLServerConnection_JTDS(String hostName,
String sqlInstanceName, String database, String userName,
String password) throws ClassNotFoundException, SQLException {
// Khai báo class Driver cho DB SQLServer
// Việc này cần thiết với Java 5
// Java6 tự động tìm kiếm Driver thích hợp.
// Nếu bạn dùng Java > 5, thì ko cần dòng này cũng được.
Class.forName("net.sourceforge.jtds.jdbc.Driver");
// Cấu trúc URL Connection dành cho SQLServer
// Ví dụ:
// jdbc:jtds:sqlserver://localhost:1433/simplehr;instance=SQLEXPRESS
String connectionURL = "jdbc:jtds:sqlserver://" + hostName + ":1433/"
+ database + ";instance=" + sqlInstanceName;
Connection conn = DriverManager.getConnection(connectionURL, userName,
password);
return conn;
}
}
5- Thư viện điều khiển Database SQL Server (SQLJDBC)
SQLJDBC là thư viện được cung cấp bởi Microsoft.
Download: http://www.microsoft.com/en-us/download/details.aspx?id=11774
5.1- Cách sử dụng (sqljdbc)
// Driver Class:
com.microsoft.sqlserver.jdbc.SQLServerDriver
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// Url String:
String url = "jdbc:sqlserver://ServerIp;Instance=SQLEXPRESS;databaseName=simplehr";
// Hoặc
String url = "jdbc:sqlserver://ServerIp:1433;Instance=SQLEXPRESS;databaseName=simplehr";
String user = "dbUserID";
String pass = "dbUserPassword";
Connection connection = DriverManager.getConnection(url, user, pass);
Ví dụ sử dụng JDBC kết nối vào Database SQLServer sử dụng thư viện SQLJDBC.
SQLServerConnUtils_SQLJDBC.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class SQLServerConnUtils_SQLJDBC {
// Kết nối vào SQLServer.
// (Sử dụng thư viện điều khiển SQLJDBC)
public static Connection getSQLServerConnection_SQLJDBC()
throws ClassNotFoundException, SQLException {
String hostName = "localhost";
String sqlInstanceName = "SQLEXPRESS";
String database = "learningsql";
String userName = "sa";
String password = "12345";
return getSQLServerConnection_SQLJDBC(hostName, sqlInstanceName,
database, userName, password);
}
// Trường hợp sử dụng SQLServer.
// Và thư viện SQLJDBC.
private static Connection getSQLServerConnection_SQLJDBC(String hostName,
String sqlInstanceName, String database, String userName,
String password) throws ClassNotFoundException, SQLException {
// Khai báo class Driver cho DB SQLServer
// Việc này cần thiết với Java 5
// Java6 tự động tìm kiếm Driver thích hợp.
// Nếu bạn dùng Java > 5, thì ko cần dòng này cũng được.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// Cấu trúc URL Connection dành cho SQLServer
// Ví dụ:
// jdbc:sqlserver://ServerIp:1433/SQLEXPRESS;databaseName=simplehr
String connectionURL = "jdbc:sqlserver://" + hostName + ":1433"
+ ";instance=" + sqlInstanceName + ";databaseName=" + database;
Connection conn = DriverManager.getConnection(connectionURL, userName,
password);
return conn;
}
}
6- Thư viện điều khiển Database MongoDB
Thư viện điều khiển cơ sở dữ liệu MongoDB bạn có thể download tại:
https://github.com/mongodb/mongo-java-driver/downloads