hibernate框架学习01

来源:互联网 发布:怎样提高阅读水平知乎 编辑:程序博客网 时间:2024/06/12 21:35

1、hibernate 简介:
hibernate 是java与关系数据库之间的桥梁,负责java与关系数据库之间的映射
hibernate 解决了java管理数据持久性问题
hibernate 是开源代码的对象关系映射框架,是对JDBC轻量级的封装
hibernate 使java程序员更加专注与业务的熟悉与处理,减少对数据库的基本操作,使开发人员以面向对象的思想来操作数据库
hibernate 就是处理java和关系数据库之间的问题的


2、hibernate 资源下载
下载地址:http://www.hibernate.org


3、 hibernate 基础应用
下载完 hibernate 资源,导入 hibernate 必要jar包
①、配置 hibernate.cfg.xml 
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">


<hibernate-configuration>
<session-factory>
<!-- 配置数据库信息 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://主机名:端口号/数据库名</property>
<property name="connection.username">数据库账号</property>
<property name="connection.password">数据库密码</property>


<!-- 配置session环境-->
<property name="current_session_context_class">thread</property>


<!-- sql语句是否在控制台打印输出 -->
<property name="show_sql">true</property>


<!-- 配置实体类与表映射关系配置文件 -->
<mapping resource="包名/实体类名类名.hbm.xml"/>
</session-factory>
</hibernate-configuration>
②、创建实体类
③、配置实体类与表映射关系 
命名:实体类名类名.hbm.xml    便于修改维护
配置文件最好与对应实体类在一个包下,已便于修改维护
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2017-9-18 12:04:58 by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
<class name="com.zdsoft.entity.Student" table="STUDENT">
<!-- 主键配置 -->
      <id name="数据库表格对应的实体类主键名" column="数据库表格字段名">
              <generator class="identity" />
      </id>
      <!-- 普通属性配置 -->
        <property name="数据库表格对应的实体类属性名" column="数据库表格字段名[如果字段名与属性名一样可以省略column]" />
    </class>
</hibernate-mapping>
④、操作数据库
//创建配置对象
Configuration configuration = new Configuration();
//读取配置信息
configuration.configure();

////创建服务注册器构建器对象
StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder();
//将配置信息加到构建器中
builder.applySettings(configuration.getProperties());


//创建服务注册器
ServiceRegistry  service = builder.build();


//通过配置对象获取session工厂,传入服务注册器
SessionFactory sessionFactory = configuration.buildSessionFactory(service);


//通过session工厂获取session对象
Session session = sessionFactory.getCurrentSession();


//通过session开启事务
session.beginTransaction();


//创建实体类
Student stu = new Student ();
stu.setID(1);
stu.setName("张三");

//进行数据库的增删改查
session.save(stu);//增加数据
session.update(stu);//通过实体类对象的主键id修改对应的数据
session.delete(stu);//通过实体类对象的主键id删除对应的数据
session.get(实体类.class,id);//通过实体类Class对象和数据库主键id获数据


//提交事务
session.getTransaction().commit();


//关闭session工厂
sessionFactory.close();

原创粉丝点击