hibernate搭建入門idea版(配置文件方式)
這裏使用的是maven方式搭建
一、搭建項目準備
選擇默認maven骨架,直接next,創建好項目
然後Add添加Hibernate核心配置文件
添加配置文件
然後按照如下建包和文件:
二、配置環境依賴
- pom加上jar依賴座標
<!--hibernate jar-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.1.2.Final</version>
</dependency>
<!--mysql驅動jar-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
2、User.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>
<!--1、配置類和表的對應關係
class標籤
name屬性:實體類全路徑
table屬性:數據庫表名稱
-->
<class name="cn.hb.entity.User" table="t_user">
<!--2、配置實體類id和表id對應
hibernate要求實體類有一個屬性唯一值
hibernate要求表有字段作爲唯一值
-->
<!--id標籤
name屬性:實體類裏面的id屬性名稱
column屬性:生成的表字段名稱
-->
<id name="id" column="id">
<!--設置數據庫表id增長策略
native:生成表id值就是主鍵自動增長-->
<generator class="native"/>
</id>
<!--配置其他屬性和表字段對應
name屬性:實體類裏面的id屬性名稱
column屬性:生成的表字段名稱
length屬性:字段長度
-->
<property name="username" column="username" length="32"/>
<property name="password" column="password" length="32"/>
<property name="address" column="address" length="32"/>
</class>
</hibernate-mapping>
3、hibernate.cfg.xml 配置
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!--第一部分:配置數據庫信息-->
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://主機ip地址:3306/db</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<!--第二部分:配置hibernate信息 可選的-->
<!--輸出底層sql語句-->
<property name="hibernate.show_sql">true</property>
<!--輸出底層sql語句格式-->
<property name="hibernate.format_sql">true</property>
<!--hibernate自動創建表,需要配置之後
update:如果已經有表,更新,如果沒有,創建
-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!--配置數據庫方言
mysql中實現分頁,用limit的關鍵字 -只能mysql中使用
oracle中實現分頁,用rownum關鍵字
讓hibernate框架識別不同數據庫自己特有的語句(方言)
-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!--第三部分:把映射文件放到核心配置文件中 必須的-->
<mapping resource="User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
三、測試
public class test_hibernate {
public static void main(String[] args) {
//加載配置
Configuration configuration = new Configuration();
configuration.configure();
//創建SessionFactory工廠對象
SessionFactory sessionFactory = configuration.buildSessionFactory();
//創建Session對象
Session session = sessionFactory.openSession();
//開啓事物
Transaction tx = session.beginTransaction();
//執行操作crud
User user = new User();
user.setUsername("張三");
user.setPassword("123456");
user.setAddress("中國");
session.save(user);
//提交事物
tx.commit();
//釋放資源
session.close();
sessionFactory.close();
}
}