IDEA建立Hibernate專案
阿新 • • 發佈:2019-02-18
第一步、建立專案
IEAD中的project可以理解成Eclipse中的WorkSpace(工作空間),Module可以理解為Eclipse中的專案
建立完成後如下圖:
第二步、配置Hibernate環境
1、建立表
Hibernate可以將我們的JavaBean和資料庫的表進行對映,此處使用mysql資料庫,先建立一個數據庫:Hibernate,在建立表:cst_customer,表結構如下:
2、建立JavaBean
package com.xiaowen.domain;
public class Customer {
private Long cust_id;
private String cust_name;
private String cust_source;
private String cust_industry;
private String cust_level;
private String cust_linkman;
private String cust_phone;
private String cust_mobile;
//省略get/set選擇器
@Override
public String toString() {
return "Customer [cust_id=" + cust_id + ", cust_name=" + cust_name + "]";
}
}
3、建立javabean和表cst_customer對映關係檔案
對映關係關鍵命名規範:*.hbm.xml
在Customer同級目錄下新建Customer.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!--name:實體類名,table:對應資料庫表名-->
<class name="com.xiaowen.domain.Customer" table="cst_customer;">
<!-- 配置主鍵對映 -->
<!--name:實體類的屬性名,column:資料庫表的欄位名,type:資料型別-->
<id name="cust_id" type="java.lang.Integer">
<column name="cust_id"></column>
<!-- 設定主鍵生成方式 -->
<generator class="native"></generator>
</id>
<!-- 配置其他屬性 -->
<!--name:實體類的屬性名,column:資料庫表的欄位名,type:資料型別-->
<property name="cust_name" type="java.lang.String">
<column name="cust_name"></column>
</property>
<property name="cust_source" type="java.lang.String">
<column name="cust_source"></column>
</property>
<property name="cust_industry" type="java.lang.String">
<column name="cust_industry"></column>
</property>
<property name="cust_level" type="java.lang.String">
<column name="cust_level"></column>
</property>
<property name="cust_linkman" type="java.lang.String">
<column name="cust_linkman"></column>
</property>
<property name="cust_phone" type="java.lang.String">
<column name="cust_phone"></column>
</property>
<property name="cust_mobile" type="java.lang.String">
<column name="cust_mobile"></column>
</property>
</class>
</hibernate-mapping>
4、建立hibernate主配置檔案
現將mysql驅動和junit的jar包新增到專案中
命名規範:hibernate.cfg.xml(固定寫法)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 配置連線資料庫的基本資訊 -->
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=UTF-8</property>
<!-- 配置Hibernate的基本資訊 -->
<!-- hibernate 所使用的資料庫方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 執行操作時是否在控制檯列印 SQL -->
<property name="show_sql">true</property>
<!-- 是否對 SQL 進行格式化 -->
<property name="format_sql">true</property>
<!-- 指定是否自動生成資料庫表 -->
<property name="hbm2ddl.auto">update</property>
<!-- 新增實體關係對映檔案 -->
<mapping resource="com/xiaowen/domain/Customer.hbm.xml"/>
</session-factory>
</hibernate-configuration>
測試類:
package com.xiaowen.domain;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
public class HibernateTest {
@Test
public void test1(){
Configuration conf=new Configuration();
conf.configure();
SessionFactory sessionFactory=conf.buildSessionFactory();
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();//開啟事務
Customer c=new Customer();
c.setCust_name("小文");
session.save(c);//執行儲存
tx.commit();//提交事務
session.close();
sessionFactory.close();
}
}
控制檯列印:
資料庫: