- 在应用服务器中配置数据源
首先,在应用服务器(例如Tomcat、WildFly等)的配置文件中配置数据源。这涉及到在服务器上设置JNDI名称,并配置连接池信息。具体步骤可能因应用服务器而异。
在Tomcat中的配置示例:
在 context.xml 文件中配置数据源:
<Context>
<Resource name="jdbc/YourDataSource" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000"
username="your_username" password="your_password"
driverClassName="your_driver_class" url="your_jdbc_url" />
<Context>
- 在应用程序中使用JNDI数据源
在应用程序中,可以通过JNDI名称获取数据源,然后使用它来获取数据库连接。
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
public class DatabaseAccess {
public static Connection getConnection() throws SQLException {
Connection connection = null;
try {
// 获取初始上下文
Context initialContext = new InitialContext();
// 查找数据源
DataSource dataSource = (DataSource) initialContext.lookup("java:comp/env/jdbc/YourDataSource");
// 获取连接
connection = dataSource.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return connection;
}
// 其他数据库操作方法...
}
确保 java:comp/env/jdbc/YourDataSource 与在应用服务器配置的JNDI名称一致。
- 使用数据库连接进行操作
一旦获得了数据库连接,可以使用它执行SQL操作。
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class YourDAO {
public void fetchData() {
try (Connection connection = DatabaseAccess.getConnection()) {
String sql = "SELECT * FROM your_table";
try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
try (ResultSet resultSet = preparedStatement.executeQuery()) {
while (resultSet.next()) {
// 处理查询结果...
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 其他数据库操作方法...
}