hibernate4--01初识

2018-12-17  本文已影响0人  marjorie叶子

1. 持久化

2. ORM(object relation mapping)

image

解决阻抗不匹配(对象和关系数据库不匹配)问题。
没有侵入性:在代码中不用去继承hibernate类或实现hibernate提供接口
Hibernate:是一个orm的轻量级框架;解决持久化操作,使得程序员可以从编写繁复的jdbc工作中解放出来。专注于业务。提高程序员开发效率。移植性。

image

3. 编写配置文件hibernate.cfg.xml文件,放入到项目中src下:

<hibernate-configuration>
    <session-factory>
        <!-- 配置数据库连接信息 -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate4</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <!-- 设置方言,hibernate会根据数据库的类型相应生成SQL语句  -->
        <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
    </session-factory>
</hibernate-configuration>

4. 创建数据库表,以及对应的pojo对象

public class User {
    private int id;
    private String name;
    private String pwd;
    }

5. 编辑*.hbm.xml文件,文件名一般为pojo类的名称User.hbm.xml,放在pojo类所在的包下

<hibernate-mapping>
    <class name="cn.siggy.pojo.User" table="user">
        <id name="id">
            <!-- 主键生成策略 -->
            <generator class="native"></generator>
        </id>
        <!-- 实体类的属性 -->
        <property name="name"/> 
        <property name="pwd"/>  
    </class>
</hibernate-mapping>

6. 测试:将*.hbm.xml配置文件加入到hibernate.cfg.xml中

public static void main(String[] args) {
        //1.新建Configuration对象
        Configuration cfg = new Configuration().configure();
        //2.通过Configuration创建SessionFactory对象
            //在hibernate3.x中是这种写法
            //SessionFactory sf = cfg.buildSessionFactory();
        //hibernate4.3之前~hibernate4.0
//      ServiceRegistry sr = new ServiceRegistryBuilder()
//                          .applySettings(cfg.getProperties())
//                          .buildServiceRegistry();
        //hibernate4.3
        ServiceRegistry registry = new StandardServiceRegistryBuilder()
                            .applySettings(cfg.getProperties())
                            .build();
        SessionFactory sf = cfg.buildSessionFactory(registry);
                //或者
                //SessionFactory sf = cfg.buildSessionFactory();
        //3.通过SessionFactory得到Session
        Session session = sf.openSession();
        //4.通过session对象 得到Transaction对象
        //开启事务
        Transaction tx = session.beginTransaction();
        //5.保存数据
        User user = new User();
        user.setName("张三疯");
        user.setPwd("1111");
        session.save(user);
        //6.提交事务
        tx.commit();
        //7.关闭session
        session.close();
    }
上一篇下一篇

猜你喜欢

热点阅读