Java连接数据库的几种方式
网站编辑2023-05-22 08:30:32388
在Java应用程序中,连接数据库是非常常见的操作。Java提供了多种连接数据库的方式,下面将介绍其中的几种。

JDBC是Java Database Connectivity的缩写,是Java连接数据库的标准API。使用JDBC连接数据库需要以下步骤:
1. 加载数据库驱动程序
2. 建立数据库连接
3. 创建Statement对象
4. 执行SQL语句
5. 处理结果集
6. 关闭连接
以下是一个使用JDBC连接MySQL数据库的示例代码:
```java
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM user");
while (rs.next()) {
System.out.println(rs.getString("name"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
ORM(Object-Relational Mapping)框架是一种将对象模型和关系数据库映射的技术。使用ORM框架可以避免手动编写SQL语句,提高开发效率。常见的Java ORM框架有Hibernate、MyBatis等。
以下是一个使用Hibernate连接MySQL数据库的示例代码:
```java
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateDemo {
public static void main(String[] args) {
Configuration cfg = new Configuration().configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Session session = sessionFactory.openSession();
List
for (User user : userList) {
System.out.println(user.getName());
}
session.close();
sessionFactory.close();
}
}
```
使用连接池可以避免频繁地创建和关闭数据库连接,提高性能。常见的Java连接池有Apache Commons DBCP、C3P0等。
以下是一个使用Apache Commons DBCP连接MySQL数据库的示例代码:
```java
import org.apache.commons.dbcp2.BasicDataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnectionPoolDemo {
public static void main(String[] args) {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/test");
dataSource.setUsername("root");
dataSource.setPassword("password");
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = dataSource.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM user");
while (rs.next()) {
System.out.println(rs.getString("name"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
以上是Java连接数据库的几种方式,开发者可以根据实际情况选择适合自己的方式。







