Để kết nối Cơ sở dữ liệu yêu cầu của tôi. Tôi định sử dụng Kết nốiPoolDataSource lớp học. Nhưng Làm cách nào tôi có thể đặt chi tiết về tên cơ sở dữ liệu (mà tôi muốn nó được kết nối) bằng cách sử dụng trường hợp này. Vui lòng Trợ giúp về sự kiện này.Kết nối bằng ConnectionPoolDataSource
Trả lời
Cố gắng đọc this tài liệu và example
EDIT
chỉ sửa đổi ví dụ từ trên liên kết
bước chuẩn bị: - tải MySQL Server - tải mySQL java driver - tải Apache Commons Pool - tải Commons DBCP - mở MySQL Client như MySQL Workbench và tạo DB sử dụng kịch bản tiếp theo
delimiter $$
CREATE DATABASE `test_stackoverflow` /*!40100 DEFAULT CHARACTER SET utf8 */$$
delimiter $$
CREATE TABLE `test_table` (
`idtest_table` int(11) NOT NULL,
`test_field` varchar(45) DEFAULT NULL,
PRIMARY KEY (`idtest_table`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$
INSERT INTO `test_stackoverflow`.`test_table` (`idtest_table`, `test_field`) VALUES (1, 'test1');
INSERT INTO `test_stackoverflow`.`test_table` (`idtest_table`, `test_field`) VALUES (2, 'test2');
- tạo dự án java, thêm vào đường dẫn lớp, nối myscl, hồ bơi và DBCP (bạn chỉ cần tải về tất cả những lọ)
thêm các lớp tiếp theo
import org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS;
import org.apache.commons.dbcp.datasources.SharedPoolDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
/**
* @author Sergii.Zagriichuk
*/
public class Pool {
private static DataSource ds;
static {
DriverAdapterCPDS cpds = new DriverAdapterCPDS();
try {
cpds.setDriver("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
cpds.setUrl("jdbc:mysql://localhost:3306/test_stackoverflow");
cpds.setUser("root");
cpds.setPassword("root");
SharedPoolDataSource tds = new SharedPoolDataSource();
tds.setConnectionPoolDataSource(cpds);
tds.setMaxActive(10);
tds.setMaxWait(50);
ds = tds;
}
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
tên người dùng và vượt qua nên được thay đổi để sử dụng db của bạn/mật khẩu
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MainClass {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
connection = Pool.getConnection();
// Do work with connection
statement = connection.createStatement();
String selectEmployeesSQL = "select * from test_table";
resultSet = statement.executeQuery(selectEmployeesSQL);
while (resultSet.next()) {
printTestTable(resultSet);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
} // nothing we can do
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
} // nothing we can do
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
} // nothing we can do
}
}
}
private static void printTestTable(ResultSet resultSet) throws SQLException {
System.out.print(resultSet.getInt("idtest_table")+", ");
System.out.print(resultSet.getString("test_field"));
}
}
Chỉ cần chạy phương thức chính và bạn sẽ thấy giá trị thử nghiệm được in cho bảng điều khiển !!!
Bạn có thể sử dụng phiên bản DriverAdapterCPDS
. Điều này sẽ cần phải thêm hai thư viện, Apache Commons Pool và Apache Commons DBCP. Nó rất hữu ích khi trình điều khiển bạn sử dụng không bao gồm việc thực hiện kết nối tổng hợp.
Bạn có thể tìm thấy ví dụ trong http://massapi.com/class/dr/DriverAdapterCPDS.html
- 1. Lỗi khi kết nối bằng JDBC Mysql
- 2. Kết nối với WebDAV bằng PHP?
- 3. Đang cố kết nối bằng ssh2_auth_pubkey_file()
- 4. Cách đóng kết nối TCP bằng cổng?
- 5. Kiểm tra kết nối FTP bằng Python
- 6. kết nối với mysql bằng C++
- 7. Kết nối APN bằng lệnh AT
- 8. Kết nối bằng trong Oracle SQL
- 9. Kết nối Perl Kết nối
- 10. Tôi làm cách nào để có thể kết nối các kết nối bằng psycopg và gevent?
- 11. cách kết nối java và mysql bằng cách sử dụng kết nối mysql java 5.1.12
- 12. nodejs kết nối kết nối net
- 13. Java HttpURLConnection không kết nối khi tôi gọi kết nối()
- 14. Liệu socket.io có kết nối lại kết nối lại không?
- 15. Kết nối SSH Java
- 16. Mạng Java "Kết nối bị từ chối: Kết nối"
- 17. Ngắt kết nối SignalR không được gọi là kết nối internet/kết nối lại
- 18. Kết nối lại kết nối ổ cắm Java khi ngắt kết nối
- 19. Cách tự động kết nối lại hồ bơi kết nối Oracle sau khi ngắt kết nối?
- 20. kết nối telnet bằng cách sử dụng PHP
- 21. Kết nối bằng cây trước phải đối xứng
- 22. Cách kết nối với tệp MS Access (mdb) bằng C#?
- 23. Kết nối với Oracle DB bằng cách sử dụng Ruby
- 24. Cách kết nối với tệp SQL Server CE bằng SSMS
- 25. Tạo danh sách Khách hàng được kết nối bằng socket.io
- 26. Kết nối với AS400 bằng cách sử dụng .NET
- 27. unity3D: kết nối với node.js bằng cách sử dụng socket.io
- 28. WebSocket kết nối không được đóng bằng SocketRocket
bài đăng u r khá hữu ích. Nhưng làm thế nào để thực hiện dụ. Jdbc3PoolingDataSource source = new Jdbc3PoolingDataSource(); –
Đó là triển khai sau, nếu bạn đang sử dụng DB khác, bạn phải sử dụng triển khai khác, ví dụ có cài đặt trình điều khiển jdbc cho mỗi công cụ DB, như cho postgress, mysql, MS Sql, Oracle và vv. –
Cố gắng đọc mã chỉnh sửa. –