JDBC和Hibernate之间的区别
JDBC是Java数据库连接的首字母缩写。它用于将您的应用程序连接到数据库和事务。它是一个开源Javaapi。
Hibernate还用于将您的应用程序连接到数据库并执行与数据库相关的事务,但是使用不同的方法。它有一个对象关系库,该库将java的对象映射到数据库的表和列。它允许在数据库中进行面向对象的编程。Hibernate提供了HQL来访问数据库中的数据。
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); } } }