1. 程式人生 > >2、Hibernate新增資料小測試

2、Hibernate新增資料小測試

1、新建專案–點選建立配置檔案hibernate-cfg.xml 2、匯入包,加入依賴 3、通過資料庫中的表,來建立bean例項和Student.hbm.xml 4、bean類程式碼如下:Student.java

public class Student {
    private  int id;
    private  String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public
int getId() { return id; } public void setId(int id) { this.id = id; } }

5、Student.hbm.xml對映檔案程式碼如下: 主鍵生成策略,使用native,表中主鍵需要設定成自動增長

<hibernate-mapping>
    <!-- 將Java實體類Student與資料庫Hibernate表Student對映 -->
    <class name="com.entity.Student" table="student"
>
<!-- 主鍵 --> <id name="id" column="id" type="java.lang.Integer"> <generator class="native"></generator> </id> <!-- 非主鍵屬性使用property --> <property name="name" column="name" type="java.lang.String" /> </class
>
</hibernate-mapping>

6、修改hibernate-cfg.xml,程式碼如下:

<hibernate-configuration>
    <session-factory>
        <!-- 1、資料庫連線資訊 -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/fresh</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>

        <!-- 2、資料庫操縱資訊 -->
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <!-- 注意dialect的值,否則會出現奇怪的問題 -->
        <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <!--<property name="dialect">org.hibernate.dialect.MySQLDialect</property>-->
        <property name="hbm2ddl.auto">update</property>

        <!-- 3、新增實體類對映檔案  -->
        <mapping resource="com/entity/Student.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

7、編寫測試程式Hibernate.java

public class HibernateTest {
    public static void main(String[] args) {
  SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
        Session session =sessionFactory.openSession();
        Transaction tx=session.beginTransaction();

        try
        {
            Student s=new Student();
           s.setId(2015);
            s.setName("小孩");
            session.save(s);
            tx.commit();
        }
        catch(Exception ex){
            tx.rollback();
            ex.printStackTrace();
        }
        finally{
            if(session!=null) {
                session.close();
            }
        }
    }
}