1.1 问题使用Hibernate实现对员工表的增、删、改、查。1.2 方案Hibernate使用步骤:导入Hibernate包,以及数据库驱动包。引入Hibernate主配置文件hibernate.cfg.创建实体类。创建映射关系文件。使用Hibernate常用API执行增删改 ...
1.1 问题
使用Hibernate实现对员工表的增、删、改、查。
1.2 方案
Hibernate使用步骤:
- 导入Hibernate包,以及数据库驱动包。
- 引入Hibernate主配置文件hibernate.cfg.
- 创建实体类。
- 创建映射关系文件。
- 使用Hibernate常用API执行增删改查操作。
1.3 步骤
实现此案例需要按照如下步骤进行。
环境为:myeclipse 6.5 ,mysql 5.0 ,Hibernate 3 。
步骤一:准备工作创建员工表EMP,建表语句如下:
CREATE TABLE `emp` ( `ID` INT(4) NOT NULL AUTO_INCREMENT, `NAME` VARCHAR(50) NOT NULL, `AGE` INT(11) DEFAULT NULL, `SALARY` DOUBLE(7,2) DEFAULT NULL, `MARRY` CHAR(1) DEFAULT NULL, `BIRTHDAY` DATE DEFAULT NULL, `LAST_LOGIN_TIME` DATE DEFAULT NULL, PRIMARY KEY (`ID`)) ENGINE=INNODB DEFAULT CHARSET=utf8
步骤八:练习使用Hibernate对员工表进行增删改查
创建包com.souvc.test,并在该包下创建一个JUNIT测试类,并在类中使用Hibernate写出对EMP表的增删改查的方法,代码如下:
package com.souvc.test;import java.sql.Date;import java.sql.Timestamp;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import org.junit.Test;import com.souvc.util.HibernateUtil;import comsouvc.entity.Emp;/** * 演示Hibernate的基本使用 */public class TestEmp { /** * 新增emp */ @Test public void add() { // 模拟要新增的emp Emp e = new Emp(); e.setName("ggg"); e.setAge(29); e.setMarry(false); e.setSalary(8000.00); e.setBirthday(Date.valueOf("1983-10-20")); e.setLastLoginTime(new Timestamp(System.currentTimeMillis())); // 获取session Session session = HibernateUtil.getSession(); // 开启事务 Transaction ts = session.beginTransaction(); try { // 执行新增 session.save(e); // 提交事务 ts.commit(); } catch (HibernateException e1) { e1.printStackTrace(); // 回滚事务 ts.rollback(); } finally { session.close(); } } /** * 根据ID查询emp */ @Test public void findById() { Session session = HibernateUtil.getSession(); Emp emp = (Emp) session.get(Emp.class, 1); System.out.println(emp.getName()); System.out.println(emp.getBirthday()); System.out.println(emp.getLastLoginTime()); session.close(); } /** * 修改emp */ @Test public void update() { Session session = HibernateUtil.getSession(); // 查询要修改的数据 Emp emp = (Emp) session.get(Emp.class, 1); // 开启事务 Transaction ts = session.beginTransaction(); try { // 模拟修改数据 emp.setName("ee"); emp.setAge(20); // 执行修改 session.update(emp); // 提交事务 ts.commit(); } catch (HibernateException e) { e.printStackTrace(); // 回滚事务 ts.rollback(); } finally { // 关闭连接 session.close(); } } /** * 删除emp */ @Test public void delete() { Session session = HibernateUtil.getSession(); Emp emp = (Emp) session.get(Emp.class, 1); Transaction ts = session.beginTransaction(); try { session.delete(emp); ts.commit(); } catch (HibernateException e) { e.printStackTrace(); ts.rollback(); } finally { session.close(); } } /** * 查询全部emp */ @Test public void findAll() { String hql = "from Emp"; Session session = HibernateUtil.getSession(); Query query = session.createQuery(hql); List<Emp> emps = query.list(); for (Emp e : emps) { System.out.println(e.getName()); } session.close(); }}
原标题:使用Hibernate实现对员工表的增、删、改、查
关键词:Hibernate
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。