在Java中使用JDBC连接数据库,你需要以下几个步骤:
- 加载数据库驱动
- 创建数据库连接
- 执行SQL语句
- 处理查询结果
- 关闭连接
以下是一个简单的例子:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JDBCExample {
public static void main(String[] args) {
try {
// 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 创建数据库连接
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "username";
String password = "password";
Connection conn = DriverManager.getConnection(url, user, password);
// 执行SQL语句
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable");
// 处理查询结果
while (rs.next()) {
System.out.println(rs.getString("columnname"));
}
// 关闭连接
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
对于Tomcat下配置JDBC连接池,你需要在Tomcat的context.xml
中配置数据源,例如:
<Context>
<Resource
name="jdbc/mydb"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb"
username="username"
password="password"
maxActive="20"
maxIdle="10"
maxWait="10000"/>
</Context>
然后在应用的web.xml
中引用这个数据源:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mydb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
在代码中,你可以通过javax.naming.InitialContext
来查找和获取数据源:
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import java.sql.Connection;
public class JNDIExample {
public static void main(String[] args) {
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mydb");