zoukankan      html  css  js  c++  java
  • 一。Hibernate 开发流程

    一.hibernate和mybatis都是orm产品
    1.orm:object-realation-mapping对象关系映射

    二.开发步骤
    1.导入相关jar 包括hibernate和oracle的驱动

    2.在src目录下完成核心的配置文件

      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="dialect">org.hibernate.dialect.Oracle10gDialect</property>
            <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
            <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
            <property name="connection.username">java</property>
            <property name="connection.password">java123</property>
            <property name="show_sql">true</property>
            <property name="format_sql">true</property>
         <!-- 所有的实体类映射文件要在此处全部注册 -->
            <mapping resource="com/pojo/Student.hbm.xml"/>
        </session-factory>
    </hibernate-configuration>

    3.写一个实体类

    Student.java
    package com.pojo;
    
    import java.util.Date;
    
    public class Student {
        int studentId;
        String studentName;
        String studentSex;
        int studentAge;
        int classId;
        Date birthday;
        
        public Student() {
        }
        
        public Student(int studentId, String studentName, String studentSex, int studentAge, int classId, Date birthday) {
            this.studentId = studentId;
            this.studentName = studentName;
            this.studentSex = studentSex;
            this.studentAge = studentAge;
            this.classId = classId;
            this.birthday = birthday;
        }
        public int getStudentId() {
            return studentId;
        }
        public void setStudentId(int studentId) {
            this.studentId = studentId;
        }
        public String getStudentName() {
            return studentName;
        }
        public void setStudentName(String studentName) {
            this.studentName = studentName;
        }
        public String getStudentSex() {
            return studentSex;
        }
        public void setStudentSex(String studentSex) {
            this.studentSex = studentSex;
        }
        public int getStudentAge() {
            return studentAge;
        }
        public void setStudentAge(int studentAge) {
            this.studentAge = studentAge;
        }
        public int getClassId() {
            return classId;
        }
        public void setClassId(int classId) {
            this.classId = classId;
        }
        public Date getBirthday() {
            return birthday;
        }
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
        
    }

    4.给实体类写一个*.hbm.xml的映射配置文件

      Student.hbm.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
        <class name="com.pojo.Student" table="student_info" schema="JAVA">
            <id name="studentId">
                <column name="student_id"></column>
                <!--主键的生成方式 -->
                <generator class="increment"></generator>
            </id>
            <property name="studentName" column="student_name" type="java.lang.String"></property>
            <property name="studentSex" column="student_sex" type="java.lang.String"></property>
            <property name="studentAge" column="student_age" type="java.lang.Integer"></property>
            <property name="classId" column="class_Id" type="java.lang.Integer"></property>
            <property name="birthday" column="birthday" type="java.util.Date"></property>
        </class>
    </hibernate-mapping>

    5.在hibernate.cfg.xml配置中加入映射文件的注册

      见第2步
    6.访问代码

    Test.java
    package com.dao;
    
    import java.util.Date;
    import java.util.List;
    
    import org.hibernate.*;
    import org.hibernate.cfg.*;
    import org.hibernate.service.ServiceRegistry;
    import org.hibernate.service.ServiceRegistryBuilder;
    
    import com.pojo.Student;
    
    public class Test {
    
        public static void main(String[] args) {
            // 配置对象,用来获取核心配置文件的
            // 如果核心配置文件名是:hibernate.cfg.xml,并且该文件在src根目录下,configure()可以不带参数
            Configuration configuration = new Configuration().configure();
            ServiceRegistry sr = new ServiceRegistryBuilder().applySettings(configuration.getProperties())
                    .buildServiceRegistry();
            SessionFactory sf = configuration.buildSessionFactory(sr);
            Session session = sf.openSession();
            
            Student stu = new Student(11,"你好","2",22,1,new Date());
    //        session.save(stu);
    //        session.delete(stu);
            session.update(stu);
            session.beginTransaction().commit();//提交事务
            
            session.flush();
            session.close();
        }
    
    }
  • 相关阅读:
    20181123(编码问题)
    20181122笔记(列表、元组、字典和集合的数据类型及内置方法)
    20181121笔记(for,数字类型和字符串类型的内置方法)
    20181120笔记
    Python的第3堂课
    错误集合(想起来就更新)
    Python的第二堂课(2)
    Python的第二堂课(1)
    boost::bind实践2——来自《Beyond the C++ Standard Library ( An Introduction to Boost )》
    boost::bind实践
  • 原文地址:https://www.cnblogs.com/wlxslsb/p/10789991.html
Copyright © 2011-2022 走看看