文章目录
前言
hibernate是开源的轻量级框架
开源:获取免费源码
轻量级:jar包不存在依赖关系
一、hibernate入门和基本操作
1.orm思想
orm思想为对象关系映射*
1>让实体类和数据库表进行一一对应关系
实体类与数据库表对应
实体类属性和表里字段对应
2>不需要直接操作数据库表,而操作表对应实体类对象
2.配置实体类和数据库表一一对应关系<映射关系>
使用配置文件实现映射关系
2.1创建xml格式的配置文件
建议:在实体类所在包里面创建,实体类名称.hbm.xml
2.2配置是xml格式,在配置文件中首先引入xml的dtd约束
2.3配置映射关系
<hibernate-mapping>
<!-- 1 配置类和表对应
class标签
name属性:实体类全路径
table属性:数据库表名称-->
<class name="cn.itcast.entity.User" table="t_user">
<!-- 2 配置实体类id和表id对应
hibernate要求实体类有一个属性唯一值
hibernate要求表有字段作为唯一值
-->
<!-- id标签
name属性:实体类里面id属性名称
column属性:生成的表字段名称
-->
<id name="uid" column="uid">
<!-- 设置数据库表id增长策略
native:生成表id值就是主键自动增长
-->
<generator class="native"></generator>
</id>
<!-- 配置其他属性和表字段对应
name属性:实体类属性名称
column属性:生成表字段名称
-->
<property name="username" column="username"></property>
<property name="password" </property>
</class>
</hibernate-mapping>
3.创建hibernate的核心配置文件
3.1核心配置文件格式xml,但是核心配置文件名称和位置是固定的
位置:必须在src下面
名称:必须hibernate.cfg.zml
3.2引入dtd约束
3.3hibernate操作过程中,只会加载核心配置文件,其他配置文件不会加载
第一部分:配置数据库信息<必须的>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:// /数据库名</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
第二部分:配置Hibernate信息<可选的>
第三部分:把映射文件放到核心配置文件中
<mapping resource="cn/zzuli/entity/User.hbm.xml"/>
4.实体类操作
第一步 加载hibernate核心配置文件
//到src下面找到配置文件hibernate.cfg.xml并封装成对象
Configuration cfg = new Configuration();
cfg.configure();
第二步 创建SessionFactory对象
//读取hibernate核心配置文件内容,创建sessionFactory
//在过程中,根据映射关系,在配置数据库里面把表创建
SessionFactory sessionFactory = cfg.buildSessionFactory();
第三步 使用SessionFactory创建session对象
Session session = sessionFactory.openSession();
第四步 开启事务
Transaction tx = session.beginTransaction();
第五步 写具体逻辑 crud操作
//添加操作
User user = new User();
user.setUsername("lhy");
user.setPassword("20");
session.save(user);
//根据id查询
//调用session里的get方法实现
User user=session.get(user.class,1);
//修改操作
//先查询,后修改
User user=session.get(user.class,2);
user.setUsername("lww");
session.update(user);
//删除操作
//先查询,后删除
User user=session.get(user.class,2);
user.delete(user);
第六步 提交事务
tx.commit();
第七步 关闭资源
session.close();
sessionFactory.close();
5.SessionFactory
1>根据核心配置文件中,有数据库配置,有映射文件部分,到数据库里面根据映射关系把表创建
<property name="hibernate.hbm1ddl.auto">update</property>
2>在hibernate操作中,一个项目一般创建一个sessionFactory对象
3>具体实现
static Configuration cfg=null;
static SessionFactory sessionFactory=null;
static{
cfg=new Configuration();
cfg.configure();
sessionFactory=cfg.buildSessionFactory();
}
public static SessionFactory getSessionFactory(){
return sessionFactory;
}
hibernate概念和api使用
1.实体类编写规则
表示学生的分数,假如 int score;
- 比如学生得了0分 ,int score = 0;
- 如果表示学生没有参加考试,int score = 0;不能准确表示学生是否参加考试
解决:使用包装类可以了, Integer score = 0,表示学生得了0分,
表示学生没有参加考试,Integer score = null;
2.Hibernate主键生成策略
native:主键自增长
uuid:hibernate帮我们生成uuid值
<generator class="uuid"></generator>
3.实体类状态
三种
1>瞬时态:对象里面没有id值,对象与session没有关联
User u=new User();
u.setUsername("lhy");
u.setPassword("123");
2>持久态:对象里面有id值,对象与session关联
User user=session.get(user.class,1);
3>托管态:对象有id值,对象与session没有关联
User user=new User();
user.setUid(3);
saveOrUpdate方法:实现添加、实现修改
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。