hibernate入门二

来源:互联网 发布:淘宝企业店铺开通 编辑:程序博客网 时间:2024/04/27 14:05

一.实体类编写规则

  • 实体类里面属性私有的
  • 私有属性使用公开的set和get方法操作
  • 要求实体类有属性作为唯一的值(一般使用id值)
  • 实体类属性建议不适用基本数据类型,使用基本数据类型对应的包装类(比如int类型,最好用Integer)
    • 八个基本数据类型对应的包装类
      • int-Integer
      • char-Character
      • 其他的都是首字母大写 比如double-Double
    • 比如,表示学生的分数,加入int score;
      • 比如学生得了0分,int score=0;
      • 如果表示学生没有参加考试,int score=0;不能准确表示学生是否参加考试
      • 解决:使用包装类可以了,Integer score=0,表示学生得了0分,
      • 表示学生没有参加考试,Integer score=null;

二.hibernate主键生成策略

  • hibernate要求实体类里面有一个属性作为唯一的值,对应表主键,主键可以不同生成策略
  • hibernate主键生成策略有很多的值

这里写图片描述

  • 在class属性里面有很多值
    • native:根据使用的数据库来选择哪个值
    • uuid:之前web阶段写代码生成uuid值,hibernate帮我们生成uuid值

这里写图片描述

  • 在以往的博客中生成过native,现在我们来演示生成策略值uuid的操作
    • 使用uuid生成策略,实体类id属性类型,必须字符串类型
    • 配置的class值换成uuid

这里写图片描述

这里写图片描述

这里写图片描述

三.实体类操作

  • 对实体类crud操作

1.添加操作

  • 调用session里面的save方法实现
 public void fun() {           SessionFactory sessionFactory=hibernateUtils.getSessionFactory();           Session session=sessionFactory.openSession();           Transaction tx=session.beginTransaction();           User user=new User();           user.setUsername("123");           user.setPassword("13456");           session.save(user);           tx.commit();           session.close();           sessionFactory.close();      }

2.根据id查询

  • 调用session里面的get方法实现
@Test      public void fun1() {           SessionFactory sessionFactory=hibernateUtils.getSessionFactory();           Session session=sessionFactory.openSession();           Transaction tx=session.beginTransaction();           User user=session.get(User.class,1);           System.out.println(user);           tx.commit();           session.close();           sessionFactory.close();      }

这里写图片描述

3.修改操作

  • 首先查询,修改值
  • 根据id查询,返回对象
@Test      public void fun2() {           SessionFactory sessionFactory=hibernateUtils.getSessionFactory();           Session session=sessionFactory.openSession();           Transaction tx=session.beginTransaction();           User user=session.get(User.class,1);           user.setUsername("123123");           session.save(user);           tx.commit();           session.close();           sessionFactory.close();      }

这里写图片描述

这里写图片描述

4.删除操作

  • 调用session里面delete方法实现
@Test      public void fun3() {           SessionFactory sessionFactory=hibernateUtils.getSessionFactory();           Session session=sessionFactory.openSession();           Transaction tx=session.beginTransaction();           User user=session.get(User.class,1);            session.delete(user);           tx.commit();           session.close();           sessionFactory.close();      }

这里写图片描述

这里写图片描述

原创粉丝点击