当前位置:K88软件开发文章中心编程语言SQLHibernate → 文章内容

Hibernate 原生 SQL

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-18 8:34:26

ack(); e.printStackTrace(); }finally { session.close(); } return employeeID; } /* Method to READ all the employees using Scalar Query */ public void listEmployeesScalar( ){ Session session = factory.openSession(); Transaction tx = null; try{ tx = session.beginTransaction(); String sql = "SELECT first_name, salary FROM EMPLOYEE"; SQLQuery query = session.createSQLQuery(sql); query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); List data = query.list(); for(Object object : data) { Map row = (Map)object; System.out.print("First Name: " + row.get("first_name")); System.out.println(", Salary: " + row.get("salary")); } tx.commit(); }catch (HibernateException e) { if (tx!=null) tx.rollback(); e.printStackTrace(); }finally { session.close(); } } /* Method to READ all the employees using Entity Query */ public void listEmployeesEntity( ){ Session session = factory.openSession(); Transaction tx = null; try{ tx = session.beginTransaction(); String sql = "SELECT * FROM EMPLOYEE"; SQLQuery query = session.createSQLQuery(sql); query.addEntity(Employee.class); List employees = query.list(); for (Iterator iterator = employees.iterator(); iterator.hasNext();){ Employee employee = (Employee) iterator.next(); System.out.print("First Name: " + employee.getFirstName()); System.out.print(" Last Name: " + employee.getLastName()); System.out.println(" Salary: " + employee.getSalary()); } tx.commit(); }catch (HibernateException e) { if (tx!=null) tx.rollback(); e.printStackTrace(); }finally { session.close(); } }}编译和执行这是编译并运行上述应用程序的步骤。确保你有适当的 PATH 和 CLASSPATH,然后执行编译程序。 按照在配置一章讲述的方法创建 hibernate.cfg.xml 配置文件。 如上述所示创建 employee.hbm.xml 映射文件。 如上述所示创建 employee.java 源文件并编译。 如上述所示创建 manageemployee.java 源文件并编译。 执行 manageemployee 二进制代码运行程序。 你会得到下面的结果,并且记录将会在 EMPLOYEE 表创建。 $java ManageEmployee.......VARIOUS LOG MESSAGES WILL DISPLAY HERE........First Name: Zara, Salary: 2000First Name: Daisy, Salary: 5000First Name: John, Salary: 5000First Name: Mohd, Salary: 3000First Name: Zara Last Name: Ali Salary: 2000First Name: Daisy Last Name: Das Salary: 5000First Name: John Last Name: Paul Salary: 5000First Name: Mohd Last Name: Yasee Salary: 3000 如果你检查你的 EMPLOYEE 表,它应该有以下记录: mysql> select * from EMPLOYEE;+----+------------+-----------+--------+| id | first_name | last_name | salary |+----+------------+-----------+--------+| 26 | Zara | Ali | 2000 || 27 | Daisy | Das | 5000 || 28 | John | Paul | 5000 || 29 | Mohd | Yasee | 3000 |+----+------------+-----------+--------+4 rows in set (0.00 sec)mysql>

上一页  [1] [2] 


Hibernate 原生 SQL