初学Hibernate
2015-08-10 17:49
239 查看
Hibernate 是完全ORM的,只需要对 对象 进行操作,生成底层SQL语句
优势:1、可以简化开发
2、性能好(原生的Hibernate性能很差,要使用它,需要进行优化),优化方式:一级缓存、二级缓存、查询缓存、抓取策略等。
下面先简单写一个log4j的demo
1、新建一Java项目,导入log4j.jar包
纯SQL和纯面向对象的查询
优势:1、可以简化开发
2、性能好(原生的Hibernate性能很差,要使用它,需要进行优化),优化方式:一级缓存、二级缓存、查询缓存、抓取策略等。
下面先简单写一个log4j的demo
1、新建一Java项目,导入log4j.jar包
@Test // 使用SQL语句查询数据 public void findAllCustomerBySql() { // 1.加载hibernate.cfg.xml文件 Configuration configuration = new Configuration().configure();// 注意:必须调用configure方法 // 2.得到一个SessionFactory SessionFactory sessionFactory = configuration.buildSessionFactory(); // 3.得到session Session session = sessionFactory.openSession(); // 4.开启事务 // session.beginTransaction(); Transaction transaction = session.beginTransaction(); // 5.操作 String sql = "select * from customer"; SQLQuery sqlQuery = session.createSQLQuery(sql); // List<Object[]> cusList=sqlQuery.list();//注意:返回的是Object数组集合 //数组结合,可以简单理解为,数据库表中的每一行记录为一个数组,然后构成数组集合 // for(Object[] obj:cusList){ // System.out.println(Arrays.toString(obj)); // } sqlQuery.addEntity(Customer.class);//将数组中的每一条记录封装到Customer对象中 List<Customer> cusList=sqlQuery.list(); System.out.println(cusList.get(0).getName()); // 6.提交事物,如果上面开启事务时没有创建事务对象,则可用下面方式提交事务,获得当前回话里的session进行提交 // session.getTransaction().commit(); transaction.commit(); // 7.关闭资源 session.close(); sessionFactory.close(); } @Test //用qbc查询所有数据,完全面向对象的查询 public void findAllCustomerByQBC() { // 1.加载hibernate.cfg.xml文件 Configuration configuration = new Configuration().configure();// 注意:必须调用configure方法 // 2.得到一个SessionFactory SessionFactory sessionFactory = configuration.buildSessionFactory(); // 3.得到session Session session = sessionFactory.openSession(); // 4.开启事务 // session.beginTransaction(); Transaction transaction = session.beginTransaction(); // 5.操作 Criteria criteria=session.createCriteria(Customer.class); List<Customer> cusList=criteria.list(); System.out.println(cusList.get(0).getName()); // 6.提交事物,如果上面开启事务时没有创建事务对象,则可用下面方式提交事务,获得当前回话里的session进行提交 // session.getTransaction().commit(); transaction.commit(); // 7.关闭资源 session.close(); sessionFactory.close(); }
纯SQL和纯面向对象的查询
相关文章推荐
- UVA 315 Network(无向图求割点)
- hadoop程序由1.X升级至2.x
- OC NSArray练习题 和 NSSet的常用方法
- 使用NoSQL Manager for MongoDB客户端连接mongodb
- js 操作jsonarray 创建、添加元素
- 两个div如何在同一行显示
- 面向对象设计七大原则
- POJ 1236 Network of Schools
- servlet监听器与事件
- Qt中connect的一些使用细节
- Oracle performance tuning
- (๑• . •๑)菜鸟入门我的小九九之JAVA版
- 使用limit头文件查看特定机器上数据类型数据范围
- C# SortedDictionary<TKey, TValue> 类
- 传统加速器的使用和蓝牙的使用
- 改革春风吹满地
- 部分二级页面打不开问题
- N! mod P(N-1e9,P-2e9,P为质数)
- Directshow协商过程
- qsort 的用法