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

首頁 > 學院 > 開發設計 > 正文

Hibernate 基本配置 (腳手架)

2019-11-15 00:42:11
字體:
來源:轉載
供稿:網友
Hibernate 基本配置 (腳手架)

一. hibernate 配置需要 4 步

1. 配置 hibernate.cfg.xml 文件,里面配置 基本的數據庫連接, 還有一些其他的 比如: dialect, format_sql, show_sql, hbm2ddl.auto 等等.

2. 創建實體類.

3. 創建實體類的映射文件,如: 若實體類是 News, 那么實體類映射文件就是: News.hbm.xml.

4. 進行測試.

1. 配置 hibernate.cfg.xml 文件

<hibernate-configuration>    <session-factory>        <!-- 配置 hibernate0 的基本信息 -->        <PRoperty name="hibernate.connection.username">root</property>        <property name="hibernate.connection.passWord">root</property>        <property name="hibernate.connection.driver_class">com.MySQL.jdbc.Driver</property>        <property name="hibernate.connection.url">jdbc:mysql:///test</property>                <!-- 配置 hibernate0 其他信息 -->        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>        <property name="hibernate.format_sql">true</property>        <property name="hibernate.show_sql">true</property>        <property name="hibernate.hbm2ddl.auto">update</property>                <!-- 映射到 News.hbm.xml -->        <mapping resource="org/blanck/entities/News.hbm.xml"/>    </session-factory></hibernate-configuration>

2. 創建實體類:

public class News {        private Integer id;    private String title;    private Date newsTimes;}// 省略 get/set 方法// 省略有參/無參構造器

3. 配置實體類的映射文件,(使用 Eclipse hibernatetools-Update-4.1.1.Final 插件,可以生成配置文件)

<hibernate-mapping>    <class name="org.blanck.entities.News" table="T_NEWS">        <id name="id" type="java.lang.Integer">            <column name="ID" />                       <!-- 數據庫的生成策略 -->            <generator class="native" />        </id>        <property name="title" type="java.lang.String">            <column name="TITLE" />        </property>        <property name="newsTimes" type="java.util.Date">            <column name="NEWSTIMES" />        </property>    </class></hibernate-mapping>

4. 下面是測試類:

public class HibernateTest {        // hibernate0 3 個接口,Session 工廠, session, 事務    private SessionFactory sessionFactory;    private Session session;    private Transaction transaction;        /**     * 測試之前,初始化方法     */    @Before    public void init(){        System.out.println("初始化方法...");        // 1.初始化 Configuration 對象,創建構建 SessionFactory 需要的對象         Configuration configuration = new Configuration().configure();        ServiceRegistry serviceRegistry =                 new ServiceRegistryBuilder().applySettings(configuration.getProperties())                                            .buildServiceRegistry();        // 2.使用 ServiceRegistry 構建 SessionFactory 對象        sessionFactory = configuration.buildSessionFactory(serviceRegistry);                // 用 sessionFactory 打開一個 Session, 開啟事務        session = sessionFactory.openSession();        transaction = session.beginTransaction();    }        /**     * 測試完成,銷毀對象     */    @After    public void destory(){        System.out.println("銷毀方法...");        // 提交事務,關閉 Session,關閉 SessionFactory        transaction.commit();        session.close();        sessionFactory.close();    }        /**     * 測試方法      */    @Test    public void test() {        System.out.println("測試方法");        // 創建一個 News 對象,進行測試        News news = new News("helloKitty", new Date());        session.save(news);    }}

5. 錯誤, 如果出現:You have an error in your SQL syntax;

check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 6

請把:

<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>

修改成:

<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

這主要是因為數據庫版本的問題,使用

MySQL5InnoDBDialect 可以應用到 mysql 5.1 之后的版本.如果數據庫原來是存在的,則不會出現上面的錯誤.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苏尼特右旗| 绥芬河市| 武定县| 峨眉山市| 西乡县| 苏州市| 水富县| 桦甸市| 洪湖市| 文山县| 应城市| 贵阳市| 怀宁县| 青海省| 巴东县| 蛟河市| 三台县| 西华县| 泗阳县| 六安市| 天等县| 扎鲁特旗| 晴隆县| 大城县| 建宁县| 大新县| 东阳市| 威海市| 大埔县| 吉隆县| 化州市| 易门县| 渭南市| 合江县| 乌拉特中旗| 天祝| 交口县| 全州县| 喜德县| 揭东县| 获嘉县|