JDBC 和 Hibernate 之间的区别
jdbcobject oriented programmingprogramming更新于 2025/11/10 19:11:00
JDBC 是 Java 数据库连接的首字母缩写。它用于将您的应用程序连接到数据库和事务。它是一个开源 Java api。
Hibernate 也用于将您的应用程序连接到数据库并执行与数据库相关的事务,但方法不同。它有一个对象关系库,该库将数据库的表和列与 java 对象映射。它支持数据库中的面向对象编程。 Hibernate 提供 HQL 来从数据库访问数据。
| Sr.号 | 关键 | JDBC | Hibernate |
|---|---|---|---|
1 | 基本 | 是数据库连接技术 | 它是一个框架, |
2 | 延迟加载 | 它不支持延迟加载加载 | Hibernate支持延迟加载 |
3 | 事务管理 | 我们需要明确维护数据库连接和事务。 | Hibernate本身管理所有事务 |
4. | 缓存 | 我们需要编写代码来实现缓存 | Hibernates 提供两种类型的缓存: 第一级缓存 第二级缓存 使用第一级缓存不需要额外的代码。 |
5. | 性能 | 性能低 | 性能高 |
Hibernate 示例
@Entity
public class User {
@Id
Integer id;
String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import com.journaldev.hibernate.util.HibernateUtil;
public class HibernateConnectionExample {
public static void main(String[] args) {
//获取会话工厂以启动事务
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
User user = (User) session.get(User.class, new Integer(2));
System.out.println("User ID= "+user.getId());
System.out.println("User Name= "+user.getName());
//关闭资源
tx.commit();
sessionFactory.close();
}
}
Example of JDBC Connection
class JDBCConnectionExample {
public static void main(String a[]) {
String url = "jdbc:oracle:thin:@localhost:1521:local";
String user = "sys";
String password = "abc123";
String sql = "select * from user";
Connection con=null;
try {
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
//引用连接接口
con = DriverManager.getConnection(url,user,password);
Statement st = con.createStatement();
int respCode = st.executeUpdate(sql);
con.close();
}
catch(Exception ex) {
System.err.println(ex);
}
}
}

