国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

瀏覽:23日期:2024-07-16 16:12:19
準備工作

創建一個純java項目,什么都不選直接建

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

創建數據庫、表以及少量記錄

CREATE DATABASE test;USE test;CREATE TABLE t_user(ID INT AUTO_INCREMENT PRIMARY KEY,NAME VARCHAR(20),AGE int);insert into testHibernate(NAME,AGE) VALUES(’張三’,20),(’李四’,21),(’王五’,22)

使用IDEA自帶的數據庫圖形查看如下

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

在IDEA中連接數據庫的步驟如下

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

配置

配置完的完整文件結構如下圖

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

引用相關包

在菜單選擇File-Project Structure

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

選擇ProjectSettings下的Libaries,點擊“+”號,選擇Java

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

導入Hibernate相關的包。

找到放hibernate包的地方,把lib下required中的所有包選中導入

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

在導完Hibernate包后的列表里直接點“+”添加其他包

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

導入有關mysql的包。我用了之前tomcat里的,主要是得匹配你的MySQL版本

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

最后結果如下圖,點擊Apply應用

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

可以在下方的ExternalLibararies里查看導入了哪些包

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

實體類(User.java)

創建一個對應數據庫表的實體類,代碼如下

package entity;public class User { private int id; private String name; private int age; 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 int getAge() {return age; } public void setAge(int age) {this.age = age; }}

關于如何自動化生成getter與setter快捷鍵“Alt+Ins”,鼠標單擊右鍵也會有個Generate選項

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

選擇要生成的屬性,然后點OK

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

配置User實體類(user.hbm.xml)

<?xml version='1.0'?><!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='entity.User' table='t_user'><!-- name選擇剛才的實體類,table寫上實體類對應表格的名字 --><id name='id' column='id'><!-- id是實體類屬性的名字,column是表格中與實體類對應的列名(如果id和column一樣可以省略column) --> <generator /></id><property name='name' column='name'/><property name='age' column='age'/> </class></hibernate-mapping>Hibernate配置文件(hibernate.cfg.xml)

<!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='hibernate.dialect'>org.hibernate.dialect.MySQLDialect</property><!-- 方言模式,不同的數據庫用不同的方言,里面的值要寫全,下面會給出一個表 --><property name='hibernate.connection.driver_class'>com.mysql.jdbc.Driver</property><!-- mysql驅動 --><property name='hibernate.connection.url'>jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai</property><!-- 數據庫連接,填上面IDEA連數據庫的那個界面里的URL --><property name='hibernate.connection.username'>root</property><!-- MySQL用戶名 --><property name='hibernate.connection.password'>123456</property><!-- MySLQ密碼 --><property name='show_sql'>true</property><mapping resource='entity/user.hbm.xml'/><!-- 選擇User的配置文件 --></session-factory></hibernate-configuration>方言選擇

這里只給了三個有關MySQL的,詳細的可以參考這篇文章hibernate 配置數據庫方言

關系數據庫管理系統 方言 MySQL org.hibernate.dialect.MySQLDialect MySQL with InnoDB org.hibernate.dialect.MySQLInnoDBDialect MySQL with MyISAM org.hibernate.dialect.MySQLMyISAMDialect

InnoDB:MySQL默認的事務型引擎,也是最重要和使用最廣泛的存儲引擎。它被設計成為大量的短期事務,短期事務大部分情況下是正常提交的,很少被回滾。InnoDB的性能與自動崩潰恢復的特性,使得它在非事務存儲需求中也很流行。除非有非常特別的原因需要使用其他的存儲引擎,否則應該優先考慮InnoDB引擎。

MyISAM:在MySQL 5.1 及之前的版本,MyISAM是默認引擎。MyISAM提供的大量的特性,包括全文索引、壓縮、空間函數(GIS)等,但MyISAM并不支持事務以及行級鎖,而且一個毫無疑問的缺陷是崩潰后無法安全恢復。正是由于MyISAM引擎的緣故,即使MySQL支持事務已經很長時間了,在很多人的概念中MySQL還是非事務型數據庫。盡管這樣,它并不是一無是處的。對于只讀的數據,或者表比較小,可以忍受修復操作,則依然可以使用MyISAM(但請不要默認使用MyISAM,而是應該默認使用InnoDB)

測試是否配置成功

創建一個用于測試的文件manegeUser.java

package dao;import entity.User;import org.hibernate.*;import org.hibernate.cfg.Configuration;public class manageUser { public static void main(String[] args){Configuration cfg = null;SessionFactory sf = null;Session session = null;Transaction ts = null;User u = new User();u.setName('趙六');u.setAge(66);try { cfg = new Configuration().configure(); sf = cfg.buildSessionFactory(); session = sf.openSession(); ts = session.beginTransaction(); session.save(u); ts.commit();}catch (HibernateException e){ e.printStackTrace(); if(ts != null){ts.rollback(); }}finally { session.close(); sf.close();} }}

按“Ctrl+Shift+F10”執行該函數可看到如下輸出

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

并且也成功插入了一條記錄

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

配置成功

到此這篇關于IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)的文章就介紹到這了,更多相關IDEA2019.3配置Hibernate內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: IDEA
相關文章:
主站蜘蛛池模板: 一 级做人爱全视频在线看 一本不卡 | 欧美国产成人精品一区二区三区 | 亚洲精品日本高清中文字幕 | 欧美成人精品一区二区三区 | 亚洲三级免费 | 国产精品一区二区久久精品涩爱 | 国产成人精品天堂 | 伊人天堂在线 | 免费看亚洲 | 成人免费观看视频久爱网 | 亚洲高清国产一线久久 | 日韩一级精品视频在线观看 | 男人的天堂久久爱 | 操你.com| 色播基地| 国产精品18久久久久网站 | 色黄网站aaaaaa级毛片 | 久久成人免费播放网站 | 在线播放一区二区精品产 | 久久99精品视频在线在线观看 | 国产系列在线观看 | 99久久精品全部 | a一区二区三区视频 | 欧美午夜伦y4480私人影院 | 一区二区三区四区视频 | 亚洲午夜片子大全精品 | 久久91综合国产91久久精品 | 男人操女人逼逼视频 | 黄色wwwwww| 亚洲欧美一区二区三区久久 | 一区二区三区在线 | 91久久香蕉国产线看观看软件 | 亚洲高清成人欧美动作片 | 久久精品国产免费看久久精品 | 国产日韩欧美三级 | 欧美视频在线看 | 成年女人永久免费观看片 | 性欧美视频a毛片在线播放 性欧美一级 | 国产大片在线看 | 国产精品视频一区二区猎奇 | 国产精品不卡无毒在线观看 |