IntelJIdea 19.3中使用hibernate框架操縱mysql5.1

技術背景:

在IntelJIdea 19.3中使用hibernate框架

數據庫:mysql 5.1

hibernate:4.0

過程:

首先建表:t_user,聯合主鍵,id自增

打開idea,創建一個支持hibernate 的javaEE項目

安裝支持hibernate的控件:

完成創建後在idea中配置下數據庫

填寫完相應信息後,測試一下鏈接,注意此時mysql版本修改成自己數據庫一致的,否則連接可能不成功

創建hibernate配置文件,選擇File-》ProStructure

接下來創建數據庫實體映射文件,點擊idea左下方的Persistence,右鍵點擊下方自己創建的項目名

下一步

添加支持mysql的jar包,選擇

搜索mysql,並選擇對應的5.1版本

一路ok

接下來編輯配置文件,

注意此時方框內的參數用戶名密碼是必須要配置的,然後橢圓部分是這次我遇到坑,因爲我創建的這個表採用了複合主鍵,導致使用hibernateTool自動生成實體類文件的時候是採用註解方式,所以和在編譯器編譯時反向生成的mapping resource 項衝突了,出現了id class mapping的錯誤。這裏提供2種解決方案。

方式1:像圖上那樣,將idea自動生成的mapping resource項註釋掉

方式2:打開resource 項對應的實體類映射文件,將

方框中的內容刪掉,然後打開實體類文件,集成Serializable接口

================================================================

好了,最後我們創建測試類test.java,代碼如下

public class test {
    public static void main(String[] args) {
        //聲明Configuration對象
        Configuration cfg = new Configuration();
        //打開配置
        cfg.configure();
        //構建SessionFactory對象
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        //打開session
        Session session = sessionFactory.openSession();
        //開啓事務提交
        Transaction tran = session.beginTransaction();

        TUserEntity user = new TUserEntity();
        user.setSex("男");
        user.setAge(19);
        user.setUsername("admin");
        session.save(user);
        tran.commit();
        session.close();
    }
}

 

發佈了11 篇原創文章 · 獲贊 2 · 訪問量 1080
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章