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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章