JDBC和Hibernate之间的区别

JDBC是Java数据库连接的首字母缩写。它用于将您的应用程序连接到数据库和事务。它是一个开源Java api。  

Hibernate还用于将您的应用程序连接到数据库并执行与数据库相关的事务,但是使用不同的方法。它有一个对象关系库,该库将java的对象映射到数据库的表和列。它允许在数据库中进行面向对象的编程。Hibernate提供了HQL来访问数据库中的数据。

序号

JDBC
冬眠

1

基本的 

它是数据库连接技术 

这是一个框架,

2

延迟加载 

它不支持延迟加载 

Hibernate支持延迟加载 

3

事务管理 

我们需要显式维护数据库连接和事务。  

Hibernate自己管理所有事务 

4。

快取 

我们需要编写代码来实现缓存  

Hibernate提供了两种缓存类型:

一级缓存 

二级缓存


不需要额外的代码即可使用一级缓存。

5,

性能 

效能低下

高性能 

休眠示例

@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();
   }
}

JDBC连接示例

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);
      }
   }
}