Hello hibernate

1.创建实体类Product
2.在实体类包下配置Product.hbm.xml
  文件名P一定要大写要和类保持一致
  <?xml version="1.0"?>
  <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

   <hibernate-mapping package="com.how2java.pojo">
<class name="Product" table="product_">
  //表示类Product对应表product_
    <id name="id" column="id">
        <generator class="native">
        </generator>
    </id>
  //表示属性id,映射表里的字段id
   <generator class="native"> 意味着id的自增长方式采用数据库的本地方式
    <property name="name" />
   //这里配置的时候,只写了属性name,没有通过column="name" 显式的指定字段,那么字段的名字也是name.
    <property name="price" />
</class>
  </hibernate-mapping>
3.配置hibernate.cfg.xml(在src目录下)
 <?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>
    <!-- Database connection settings -->
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8</property>
    <property name="connection.username">root</property>
    <property name="connection.password">admin</property>
    <!-- SQL dialect -->
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
   //这里表示使用Mysql方言
    <property name="current_session_context_class">thread</property>
  //这里是Hibernate事务管理方式,即每个线程一个事务
    <property name="show_sql">true</property>
  //这里表示是否在控制台执行sql语句
    <property name="hbm2ddl.auto">update</property>
 //这表示是否会自动更新数据库的表结构, 
 //有这句话,其实是不需要创建表的,因为Hibernate会自动去创建表结构

    <mapping resource="pakageName/Product.hbm.xml" />
    //这表示Hibernate会去识别Product这个实体类
</session-factory>

</hibernate-configuration>

4.测试类TestHibernate

hibernate的基本步骤是:
1. 获取SessionFactory 
2. 通过SessionFactory 获取一个Session
3. 在Session基础上开启一个事务
4. 通过调用Session的save方法把对象保存到数据库
5. 提交事务
6. 关闭Session
7. 关闭SessionFactory

 SessionFactory sf = new Configuration().configure().buildSessionFactory();

    Session s = sf.openSession();
    s.beginTransaction();

    Product p = new Product();
    p.setName("iphone7");
    p.setPrice(7000);
    s.save(p);
     
    s.getTransaction().commit();
    s.close();
    sf.close();
Hibernate原理图.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。