国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

Hibernate環(huán)境的搭建

2024-07-21 02:53:17
字體:
供稿:網(wǎng)友

MyEclipse中搭建Hibernate環(huán)境

前提一:下載好hibernate-release-xxxx.Final,我使用的是hibernate-release-5.0.1.Final,下載地址是:Hibernate官網(wǎng)具體下載步驟見我的另一篇博客: 解壓得到如下: 這里寫圖片描述 前提二:Hibernate是持久層的框架,那么你的電腦上得有個數(shù)據(jù)庫,或者將來你的程序要能連上一個遠(yuǎn)程數(shù)據(jù)庫,很重要的一點是:你要清楚你的數(shù)據(jù)版本是多少,并且準(zhǔn)備好相對應(yīng)的連接驅(qū)動jar包,如果jar版本搞錯了,這個錯誤你可能要排一天…… 我的數(shù)據(jù)庫版本: 6.0.11 所以我可以用MySQL-connector-java-5.1.7-bin.jar 一、打開MyEclipse,因為只是單獨搭建Hibernate環(huán)境,所以可以單純地見一個Java PRoject,取名隨意,我的就叫Hibernate 二、在工程里新建一個文件夾用來放所需jar包,和src同級目錄下 這里寫圖片描述 三、到hibernate-release-5.0.1.Final文件夾下去拷貝所需jar到lib文件夾下 具體包含哪些jar看自己需求,我的因為包含一個c3p0連接池和需要輸出調(diào)試日志,所以jar比較多,如下 這里寫圖片描述 可以看到,連接數(shù)據(jù)的jar也在其中,下一步就是選中所有jar,右擊BuildPath—>Configur BuildPath,這樣jar就準(zhǔn)備好了 四、創(chuàng)建實體類

package com.hibernate.beans;public class Student { private Integer id; private String name; private int age; private double score; public Student() { super(); } public Integer getId() { return id; } public Student(String name, int age, double score) { super(); this.name = name; this.age = age; this.score = score; } @Override public String toString() { return "Student [id=" + id + ", name=" + name + ", age=" + age + ", score=" + score + "]"; } public void setId(Integer 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; } public double getScore() { return score; } public void setScore(double score) { this.score = score; }}

五、編寫實體映射文件,映射文件的存放位置與實體所在的包一致,名字格式為:xxxx.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="com.hibernate.beans"> <!-- 映射文件的作用 1)類到表的映射 2)屬性到字段的映射 --> <class name="Student" table="t_student"> <id name="id" column="t_id"> <!-- 主鍵生成策略 --> <generator class="native"></generator> </id> <property name="name" column="t_name"></property> <property name="age" column="t_age"></property> <property name="score" column="t_score"></property> </class> </hibernate-mapping>

六、編寫Hibernate主配置文件,配置文件命名是固定的,必須為:hibernate.cfg.xml,一般放在src根目錄下 這里寫圖片描述

<?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> <!--DB連接四要素 Ctrl shift C --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF8</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.passWord">123456</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 數(shù)據(jù)源:數(shù)據(jù)庫連接池 --> <property name="hibernate.connection.provider_class">org.hibernate.c3p0.internal.C3P0ConnectionProvider</property> <!-- 當(dāng)前session的上下文 保證在同一線程中獲取到的是同一個session--> <property name="hibernate.current_session_context_class">thread</property> <!-- 自動建表--> <property name="hibernate.hbm2ddl.auto">update</property> <!-- 顯示SQL --> <property name="hibernate.show_sql">true</property> <!-- 格式化SQL --> <property name="hibernate.format_sql">true</property> <!-- 加載映射文件 --> <mapping resource="com/hibernate/beans/Student.hbm.xml"/> </session-factory></hibernate-configuration>

七、測試是否成功 到此環(huán)境已經(jīng)搭建的差不多了,測試一下環(huán)境是否可用,最直接的方式是往數(shù)據(jù)庫中插入一條數(shù)據(jù)

package com.hibernate.test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import com.hibernate.beans.Student;public class TestHibernate { public static void main(String[] args) { /** * 第一步:加載配置 */ Configuration configure = new Configuration().configure(); /** * 第二步:獲取sessionFactory */ SessionFactory sessionFactory = configure.buildSessionFactory(); /** * 第三步:獲取session對象 */ Session session = sessionFactory.getCurrentSession(); /** * 第四步:開啟事務(wù) */ try { session.beginTransaction(); /** * 第五步:執(zhí)行操作 */ Student student = new Student("李四", 20, 89.9); //執(zhí)行操作 session.save(student); /** * 第六步:提交事務(wù) */ session.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); // 回滾 session.getTransaction().rollback(); } }}

結(jié)果顯示如下: 這里寫圖片描述 文中涉及jar包等資源在群:511906138 均有!


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 山东省| 济阳县| 房产| 大宁县| 阜康市| 油尖旺区| 曲阳县| 和林格尔县| 蕲春县| 南郑县| 赤壁市| 商都县| 章丘市| 潞西市| 林州市| 锦州市| 舒城县| 德兴市| 库伦旗| 资溪县| 扎兰屯市| 平凉市| 昌乐县| 镇原县| 扎赉特旗| 从化市| 长子县| 明溪县| 什邡市| 赤水市| 西安市| 专栏| 长岭县| 新乡县| 鲜城| 建阳市| 南京市| 民丰县| 隆化县| 海淀区| 五峰|