oracle和hibernate增删改查

妖狐艹你老母 2022-07-13 08:11 386阅读 0赞

一、打开oracle数据库,启动scott账户

1.在我的电脑—管理—服务和应用程序—服务中开启这两个服务

20170101144539541

2.打卡PL/SQL登录system 账户

20170101144638869

3.新建一个命令窗口

20170101144720682

4.查询所有账户的状态

20170101144843276

20170101144903667

5.解锁scott账户,改密并登录

20170101145000841

20170101145026496

二、创建java项目,并用hibernate连接oracle数据库中的scott账户

1.打开MyEclipse,切换为MyEclips Hibernate 视图

20170101145616177

2.在DB Browser中新建一个数据库连接

20170101145742726

20170101145826061

20170101145849946

3.给java项目添加hibernate配置文件

20170101150004234

20170101150032918

20170101150050840

20170101150120906

20170101150148560

4.切换到MyEclipse Java Enterprise视图,查看生成的hibernate配置文件

20170101150421173

20170101150442455

5.到DB Browser中下的scott账户下生成表dept,emp的hibernate映射文件

20170101150730381

20170101150826008

20170101150846055

20170101150906128

20170101150953050

20170101151016160

5.查看生成的映射文件

20170101151145973

20170101151213426

三、在java项目中创建TestHibernate.java,测试增删改查的方法

1.主方法

  1. public static void main(String[] args) {
  2. // t1();//添加部门
  3. // t2();//修改部门
  4. // t3();//查询全部部门
  5. t4();//删除部门
  6. }

2.添加部门

  1. /**
  2. * 添加部门
  3. */
  4. private static void t1() {
  5. //1.加载hibernate配置文件
  6. Configuration config = new Configuration().configure();
  7. //2.创建sessionFactory
  8. SessionFactory sessionFactory = config.buildSessionFactory();
  9. //3.打开session
  10. Session session = sessionFactory.openSession();
  11. //4.开启事务
  12. Transaction transaction = session.beginTransaction();
  13. //5.数据库操作
  14. Dept dept = new Dept();
  15. dept.setDname("j1666");
  16. dept.setLoc("软件新城666");
  17. session.save(dept);
  18. //6.提交事务
  19. transaction.commit();
  20. //7.关闭session
  21. session.close();
  22. //8.关闭session工厂
  23. sessionFactory.close();
  24. }

运行时出现如下错误:

20170101152357352

说是主键生成策略的问题,修改映射文件

20170101152521487

20170101152642411

20170101152706880

修改对应的类

20170101152736084

20170101152815229

修改完成后再运行,ok

20170101152923714

查询oracle数据库

20170101153002745

3.修改部门

  1. /**
  2. * 修改部门
  3. */
  4. private static void t2() {
  5. //1.加载hibernate配置文件
  6. Configuration config = new Configuration().configure();
  7. //2.创建sessionFactory
  8. SessionFactory sessionFactory = config.buildSessionFactory();
  9. //3.打开session
  10. Session session = sessionFactory.openSession();
  11. //4.开启事务
  12. Transaction transaction = session.beginTransaction();
  13. //5.数据库操作
  14. Dept d= (Dept) session.get(Dept.class, 41);
  15. d.setDname("j1700");
  16. session.save(d);
  17. //6.提交事务
  18. transaction.commit();
  19. //7.关闭session
  20. session.close();
  21. //8.关闭session工厂
  22. sessionFactory.close();
  23. }

运行:

20170101153114105

查询数据库:

20170101153149715

4.查询全部部门

  1. /**
  2. * 查询全部部门
  3. */
  4. private static void t3() {
  5. //1.加载hibernate配置文件
  6. Configuration config = new Configuration().configure();
  7. //2.创建sessionFactory
  8. SessionFactory sessionFactory = config.buildSessionFactory();
  9. //3.打开session
  10. Session session = sessionFactory.openSession();
  11. //4.开启事务
  12. Transaction transaction = session.beginTransaction();
  13. //5.数据库操作
  14. Query query = session.createQuery("FROM Dept");
  15. List<Dept> list = query.list();
  16. for(Dept d : list){
  17. System.out.println(d.getDeptno()+"\t\t"+d.getDname()+"\t\t"+d.getLoc());
  18. }
  19. //6.提交事务
  20. transaction.commit();
  21. //7.关闭session
  22. session.close();
  23. //8.关闭session工厂
  24. sessionFactory.close();
  25. }

运行:

20170101153238199

5.删除部门

  1. /**
  2. * 删除部门
  3. */
  4. private static void t4() {
  5. //1.加载hibernate配置文件
  6. Configuration config = new Configuration().configure();
  7. //2.创建sessionFactory
  8. SessionFactory sessionFactory = config.buildSessionFactory();
  9. //3.打开session
  10. Session session = sessionFactory.openSession();
  11. //4.开启事务
  12. Transaction transaction = session.beginTransaction();
  13. //5.数据库操作
  14. Dept dept = (Dept) session.get(Dept.class, 41);
  15. session.delete(dept);
  16. //6.提交事务
  17. transaction.commit();
  18. //7.关闭session
  19. session.close();
  20. //8.关闭session工厂
  21. sessionFactory.close();
  22. }

运行:

20170101153307700

查询数据库:

20170101153406825

ok,整个hibernate操作数据库的增删改查就完成了^_^

发表评论

表情:
评论列表 (有 0 条评论,386人围观)

还没有评论,来说两句吧...

相关阅读