日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate快速入门

發布時間:2025/1/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate快速入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下載hibernate

documentation目錄:存放hibernate的相關文件與API
lib目錄:存放hibernate編譯和運行所依賴的jar包,其中required子目錄下包含了運行hibernate項目必須的jar包
project目錄:存放hibernate各種相關的源代碼與資源.
在lib/required目錄中,包含的jar包


創建數據庫與表

CREATE DATABASE hibernateTest;USER hibernateTest;CREATE TABLE t_customer(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),address VARCHAR(50) )

創建實體類

public class Customer {private int id;private String name;private String address;private String sex;public Customer() {super();}public Customer(String name, String address) {super();this.name = name;this.address = address;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "Customer [id=" + id + ", name=" + name + ", address=" + address + "]";}}

導入hibernate框架相關依賴jar包

導入lib/required下所有的jar

導入數據庫的驅動jar包

日志相關jar包

將hibernate/project/etc/log4j.properties文件導入到工程src下.

# # Hibernate, Relational Persistence for Idiomatic Java # # License: GNU Lesser General Public License (LGPL), version 2.1 or later. # See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. #### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### direct messages to file hibernate.log ### #log4j.appender.file=org.apache.log4j.FileAppender #log4j.appender.file.File=hibernate.log #log4j.appender.file.layout=org.apache.log4j.PatternLayout #log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### set log levels - for more verbose logging change 'info' to 'debug' ###log4j.rootLogger=warn, stdout#log4j.logger.org.hibernate=info log4j.logger.org.hibernate=debug### log HQL query parser activity #log4j.logger.org.hibernate.hql.ast.AST=debug### log just the SQL #log4j.logger.org.hibernate.SQL=debug### log JDBC bind parameters ### log4j.logger.org.hibernate.type=info #log4j.logger.org.hibernate.type=debug### log schema export/update ### log4j.logger.org.hibernate.tool.hbm2ddl=debug### log HQL parse trees #log4j.logger.org.hibernate.hql=debug### log cache activity ### #log4j.logger.org.hibernate.cache=debug### log transaction activity #log4j.logger.org.hibernate.transaction=debug### log JDBC resource acquisition #log4j.logger.org.hibernate.jdbc=debug### enable the following line if you want to track down connection ### ### leakages when using DriverManagerConnectionProvider ### #log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace

Hibernate的相關配置文件

有兩種:
1.xxx.hbm.xml 它主要是用于描述類與數據庫中的表的映射關系.
2.hibernate.cfg.xml 它是hibernate框架核心配置文件。

映射配置文件

位置:它要與實體類在同一個包下.
名稱 :類名.hbm.xml
約束:

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

約束文件可以在hibernate的核心的jar包下的org.hibernate包下查找到


Customer.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 package="cn.nwtxxb.domain"><!-- name屬性它是實體類的全名 table 表的名稱 catalog 數據庫名稱 --><class name="Customer" table="t_customer"catalog="hibernateTest"><!-- id它是用于描述主鍵 --><id name="id" column="id" type="int"> <!-- java數據類型 --><!-- 主鍵生成策略 --><generator class="native"></generator></id><!-- 使用property來描述屬性與字段的對應關系 --><property name="name" column="name" length="20" type="string"></property> <!-- hibernate數據類型 --><property name="address"><column name="address" length="50" sql-type="varchar(50)"></column> <!-- sql數據類型 --></property><property name="sex" column="sex" length="20"></property></class> </hibernate-mapping>

核心配置文件

它主要是hibernate框架所使用的,它主要包含了連接數據庫相關信息,hibernate相關配置等。
位置:在src下創建一個hibernate.cfg.xml
約束:

約束文件所在位置:hiberante核心jar包下的org.hibernate包下


在這個文件中如何配置?
可以參考 hibernate-release-5.0.7.Final\project\etc\hibernate.properties文件

<?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><!-- 配置關于數據庫連接的四個項 driverClass url username password --><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:///hibernateTest</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">abc</property><!-- 設置連接提供者 --><property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property><!-- c3p0連接池的配置 --><property name="hibernate.c3p0.max_size">20</property> <!-- 最大連接池 --><property name="hibernate.c3p0.min_size">5</property> <!-- 最小連接數 --><property name="hibernate.c3p0.timeout">120</property> <!-- 超時 --><property name="hibernate.c3p0.idle_test_period">3000</property> <!-- 空閑連接 --><!-- 可以將向數據庫發送的sql顯示出來 --><property name="hibernate.show_sql">true</property><!-- 格式化sql --><property name="hibernate.format_sql">true</property><!-- hibernate的方言 --><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!-- 自動創建表 --><property name="hibernate.hbm2ddl.auto">update</property><!-- 用于設置事務提交方式 --><property name="hibernate.connection.autocommit">false</property><!-- 配置hibernate的映射文件所在位置 --><mapping resource="cn/nwtxxb/domain/Customer.hbm.xml" /></session-factory></hibernate-configuration>

測試

public class HibernateTest1 {// 保存一個Customer@Testpublic void saveCustomerTest() {// 創建一個CustomerCustomer c = new Customer();c.setName("張三");c.setAddress("北京");c.setSex("男");// 使用hibernate的api來完成將customer信息保存到mysql中操作Configuration config = new Configuration().configure(); // 加載hibernate.cfg.xmlSessionFactory sessionFactory = config.buildSessionFactory();Session session = sessionFactory.openSession(); // 相當于得到一個Connection。// 開啟事務Transaction transaction = session.beginTransaction();// 操作session.save(c);// 事務提交transaction.commit();session.close();sessionFactory.close();} }

總結

以上是生活随笔為你收集整理的Hibernate快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。