欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用Eclipse编写第一个Hibernate程序

程序员文章站 2022-07-14 20:30:43
...

为什么使用Hibernate

编写大量的SQL语句有诸多缺陷:语法不同、实现方式不同、移植和维护麻烦。抛弃sql思想Hibernate就是一种ORM(Object / Relationship Mapping)框架技术。下图是Hibernate在程序中所处位置:
使用Eclipse编写第一个Hibernate程序

编写第一个Hibernate程序

  1. help -> Install New SoftWare ->粘贴【http://download.jboss.org/jbosstools/neon/stable/updates/】->点击add然后等等->选择Jboss Web and Java EE Development目录下的Hibernate Tools
  2. 新建一个Java Project导入Hibernate、Junit、mysql jar包
  3. 创建Hibernate的配置文件,new -> others -> Hibernate下cfg.xml文件
    <session-factory>
    <property name="connection.username">root</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url"><![CDATA[jdbc:mysql://127.0.0.1:3306/hibernate?useUnicode=true&characterEncoding=UTF-8]]></property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="show_sql">true</property>
    <property name="format_sql">true</property>
    <property name="hbm2ddl.auto">create</property> <mapping resource="Students.hbm.xml"/>
  4. 创建持久化类,生成get、set方法。
    `
    /**
    遵循javabean原则
    */
    public class Students {

    private int sid; // 学号
    private String sname; // 名字
    private String gender;
    private Date birthday;
    private String address;
    `

  5. 创建对象-关系映射文件,生成Students.hbm.xml文件。生成方法类似配置文件那样
  6. 通过HibernateAPI编写访问数据库的代码
    public class StudentsTest {

    // 导入Hibernate中jar包
    private Session session;
    private SessionFactory sessionFactory;
    private Transaction transaction; `
    @Before
    public void init(){
    // 创建配置对象
    Configuration config = new Configuration().configure();
    // 创建服务注册对象
    ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();

    // 创建会话工厂对象
    sessionFactory = config.buildSessionFactory(serviceRegistry);
    // 会话对象
    session = sessionFactory.openSession();
    // 开启事务
    transaction = session.beginTransaction();
    

    }
    @After
    public void destory(){
    // 提交事务
    transaction.commit();
    // 关闭session
    session.close();
    // 关闭工厂会话
    sessionFactory.close();
    }
    @Test
    public void testSaveStudents(){
    Students students = new Students(1, “zhangsan”, “男”, new Date(), “wudangshan”);
    // 保存数据库中
    session.save(students);
    }
    }
    7.Junit启动

    • 注意jar包版本:
      使用Eclipse编写第一个Hibernate程序
相关标签: hibernate