实体类

作者: 常威爆打来福 | 来源:发表于2017-09-23 20:52 被阅读0次

一 编写规则
1 实体类里面属性私有
2 私有属性使用公开set和get方法操作
3 要求实体类有属性作为唯一值
4 实体类属性建议不使用基本数据类型,使用基本数据类型对应的包装类
(1)八个基本数据类型对应的包装类

  • int - Integer
  • char - Character
  • 其他的都是首字母大写,比如 double - Double

(2)比如 表示学生的分数,假如 int score

  • 比如学生得了0分,int score = 0;
  • 如果表示学生没有参加考试,int score = 0 ;不能准确表示学生是否参加考试
    • 解决:使用包装类,Integer score = 0,表示学生得了0分
    • 表示学生没有参加考试,Integer score = null

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

2 hibernate主键生成策略有很多值

<generator class="native"></generator>

3 在class属性里面有很多值
(1)native 主键 自增长 不为空

  • 根据我们使用的数据库帮我们选择哪个值

(2)uuid String类型主键 不为空

  • 使用uuid生成策略,实体类id属性类型必须为字符串类型
  • 每次自动生成一个随机唯一的id值

三 实体类操作
1 crud操作
(1)增(session中save方法)

        User user = new User();
        user.setName("小明");
        user.setPassword("555555");
        //调用session的方法实现添加
        session.save(user);

(2)删 (调用session中delete方法)

  • 方法一
        User user=session.get(User.class,1);
        session.delete(user);
执行结果 数据库
  • 方法二
        User user = new User();
        user.setId(2);
        session.delete(user);
执行结果 数据库

(3)改( 根据id查询,返回对象)

        /*修改
        * - 先根据id查在改
        * - 向返回的user对象里面设置修改之后的值*/
         User user= session.get(User.class,1);
         user.setName("小王");
         user.setPassword("123456");
         session.update(user);
结果 数据库

(4)查(根据id进行查询)

        // 第一个参数:实体类的class
        //第二个参数:id值
         User user=session.get(User.class,1);
        System.out.println(user);
查询

2 实体类对象状态(概念)

  • 顺势态:对象里面没有id值,对象与session没有关联
顺势态
  • 持久态:对象里面有id值,对象与session也有关联
持久态
  • 托管态:对象里面有id值,但对象与session没有关联
托管态

3 操作实体类对象的方法(saveOrUpdate方法)

  • 实体对象是顺势态,执行添加操作
       User user = new User();
        user.setName("小明");
        user.setPassword("555555");
        session.saveOrUpdate(user);
执行结果 数据库
  • 实体对象是托管态,执行修改操作
        User user = new User();
        user.setId(3);
        user.setName("小红");
        user.setPassword("789456");
        session.saveOrUpdate(user);
执行结果 数据库
  • 实体对象是持久态,执行修改操作
         User user=session.get(User.class,3);
         user.setId(3);
         user.setName("小小");
         user.setPassword("456655");
         session.saveOrUpdate(user);
执行结果 数据库

相关文章

网友评论

    本文标题:实体类

    本文链接:https://www.haomeiwen.com/subject/euwcextx.html