IDEA2019.3配置Hibernate的详细教程(未使用IDEA的自动化)

准备工作

创建一个纯java项目,什么都不选直接建

创建数据库、表以及少量记录

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自带的数据库图形查看如下

在IDEA中连接数据库的步骤如下

配置

配置完的完整文件结构如下图

引用相关包

在菜单选择File-Project Structure

选择ProjectSettings下的Libaries,点击“+”号,选择Java

导入Hibernate相关的包。

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

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

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

最后结果如下图,点击Apply应用

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

实体类(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选项

选择要生成的属性,然后点OK

配置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 class="native"/>
        </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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 关于IDEA配置Hibernate中遇到的问题解决

    发现问题 1.在配置User.hbm.xml文件时, table处无法找到t_user的表,于是alt+enter显示Assign Data Sources 将Data Sources中选中你的数据库名称 2.由于log4j包的问题,导致程序无法运行,在Project Structure中删除log包就好使了. 3.像数据库中插入中文数据显示问号的问题. 这里英文是可以插入的,没有任何问题. 解决方法: 首先查看以下你的表的默认字符集.是否是utf-8或者是gbk. 如果不是修改为utf-8.然

  • IDEA2019.3配置Hibernate的详细教程(未使用IDEA的自动化)

    准备工作 创建一个纯java项目,什么都不选直接建 创建数据库.表以及少量记录 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自带的数据库图形查看如下

  • mysql 5.7.14 下载安装、配置与使用详细教程

     下载 a.我这里用的是 ZIP Archive版的,win8 64位的机器都支持 这个所以我建议都用这个.还有这个比较简单而且还很干净.地址见图.拖到最下面,看清楚了64bit ZIP Archive,点击Download. b.点开之后会进入另一个页面,但却没有下载,这个时候不用怕,看不懂也没关系,他的意思就是让你登录(login),或者注册个账号(sign up)就行了,登录或者注册成功后就开始下载了.(记住密码要字母和数字组合,并且要大小写混合) c.当然如果你有的话也可以直接登录. 成

  • centos 安装python3.6环境并配置虚拟环境的详细教程

    python3.6下载地址: https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz linux 下python 环境配置 统一目录: 源码存放位置 $HOME/tools 安装目录: /application 安装python 环境: 1.  下载 # 创建下载目录 mkdir $HOME/tools # 切换到tools统一管理源码目录 cd $HOME/tools wget https://www.python.org/ftp/py

  • Atom安装配置C/C++详细教程

    Atom (一款开源的代码编辑器)是github专门为程序员推出的一个跨平台文本编辑器.具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言,还支持C,C++,JAVA,Python,Object-C等流行编程语言,支持宏,自动完成分屏功能,集成了文件管理器.本文针对C/C++ 环境下配置进行讲解(笔者折腾了一上午),话不多说,先上图. 第一步: 下载并安装Atom. 下载地址:https://atom.io/ 安装过程:略(全自动) 附上几

  • Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)

    总体顺序 确定需要安装的tensorflow-gpu版本,点击这里拉到最下方,一般是cuda10和cudnn7.4,以及对应的nvidia驱动,cuda,cudnn版本 更新驱动,可下载NVIDIA-GEFORCE,点击这里 安装cuda,点击这里最后选择exe(local) 下载完成后选择一下安装目录,其他的不用管(记住自己的安装目录) 添加cuda环境变量,自行百度 下载cudnn7.4,nvidia官网注册账号后下载,百度一下将cudnn哪三个包放到对应cuda文件夹下即可 安装anaco

  • docker-compose部署配置jenkins的详细教程

    docker-compose部署配置jenkins  一.docker-compose文件 version: '3.1' services: jenkins: image: jenkins/jenkins:lts volumes: - /data/jenkins/:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker - /usr/lib/x86_64-lin

  • Pycharm 2020.1 版配置优化的详细教程

    手残更新Pycharm 2020.1 版时将配置文件都删除了

  • IDEA2020.1.2创建web项目配置Tomcat的详细教程

    本文章是一篇IDEA创建web项目配置Tomcat的整合文章,并非原创,原文链接 https://blog.csdn.net/qq_45738810/article/details/107842532 https://www.cnblogs.com/shindo/p/7272646.html 作为初学者,先看了第一个链接里大佬的文章又看其他的文章表示很懵,为了避免各位和我一样,所以在此整合一下,希望能帮到各位! 第一步,先创建一个普通的Java项目 第二步,创建web项目.右键项目名–>Add

  • Windows下gradle的安装与配置的超详细教程

    下载gradle 直接百度gradle,然后点击链接进去就可以找到,这里附上下载链接:gradle下载 安装gradle## 解压下载下来的zip压缩包,如图(我下载的是gradle-4.8.1-bin.zip) 链接: https://pan.baidu.com/s/1ovmJMvK9PfJYzd9TioBxzQ  提取码: p3qs 注意:下图中的[jars]目录是我自己创建的,原有的下载下来是没有的. 配置环境变量 右键 "计算机"–"属性"(按照图操作即可)

  • Python3.7安装PyQt5 运行配置Pycharm的详细教程

    系统:win10 64位  win7 64位都有测试了下, python版本3.7.3 安装PyQt5个人操作步骤,包裹在不同操作系统上遇到的问题,综合的解决 第一步:在cmd窗口中,使用国内镜像 下载PyQt5: pip install PyQt5 -i https://pypi.doubanio.com/simple 然后在下载PyQt5-tools: pip install PyQt5-tools -i https://pypi.doubanio.com/simple 出现成功这个单词,就

随机推荐