首页 > 学院 > 开发设计 > 正文

Intellij Idea 15 下新建 Hibernate 项目以及如何添加配置

2019-11-14 09:49:06
字体:
来源:转载
供稿:网友

Intellij Idea 15 下新建 Hibernate 项目以及如何添加配置

本篇文章介绍内容:

(1)如何在 PRoject 新建 Hibernate Module。

(2)如何添加 jar 包到 Module 下。

(3)如何添加 hibernate.cfg.xml,以及如何自定义模板

(4)如何添加 Entity.hbm.xml 文件,以及自动生成实体。

3.在最开始前,添加 Hibernate 的插件。

文章链接(一篇非常详细的建立hibernate项目的介绍)http://www.mobile-open.com/2016/977339.html以及这篇文章http://blog.csdn.net/QQ_15096707/article/details/51419304

Hibernate学习:Intellij IDEA下新建Hibernate HelloWorld:Hibernate是java领域的一款轻量级ORM(对象关系模型)框架,它对JDBC进行了封装,实现了从关系型数据库到面向对象的领域模型的映射,可以将对象自动映射成数据库中的信息。它还提供了面向对象的数据查询检索机制,这样我们就不用关心繁琐的JDBC,从而极大缩短了手动处理SQL和JDBC上的开发时间。

Hibernate开发环境搭建

MySQL数据库

既然Hibernate是一款ORM框架,那就涉及到数据库操作。这里我们用最常见的开源关系型数据库mysql,具体安装办法我这里不细说,不懂的可以百度谷歌。这里我主要说说在Intellij IDEA下搭建Hibernate开发环境。

Intellij IDEA

相比于eclipse,JetBrains公司的Intellij IDEA更智能,操作方便,还可以兼容eclipse的项目。Google的Android Studio也是在Intellij IDEA的基础上开发的。

(一)新建maven项目,通过maven管理依赖

(二)填写项目GroupId和ArtifactId,点击next

(三)填写项目名称,选择项目存放位置,点击finish

项目目录结构如图所示:

这里我说一下文件夹的主要功能:

java:存放代码 resources:存放配置文件 test:存放测试代码 pom.xml:maven的依赖文件,以来都在这里添加

(四)添加依赖

建好项目以后,接下来就是要添加hibernate依赖了。由于Hibernate要连接mysql,所以还要添加mysql驱动。这样maven会自动下载jar包到本地仓库。

pom.xml

?
123456789101112131415161718192021222324252627282930313233<!--?xml version="1.0"encoding="UTF-8"?--><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemalocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelversion>4.0.0</modelversion>     <groupid>com.doubecharli</groupid>    hibernate</artifactid>    <version>1.0-SNAPSHOT</version>     <dependencies>        <!--junit-->        <dependency>            <groupid>junit</groupid>            junit</artifactid>            <version>4.12</version>        </dependency>         <!--hibernate-->        <dependency>            <groupid>org.hibernate</groupid>            hibernate-core</artifactid>            <version>5.1.0.Final</version>        </dependency>         <!--mysql driver-->        <dependency>            <groupid>mysql</groupid>            mysql-connector-java</artifactid>            <version>5.1.40</version>        </dependency>     </dependencies> </project>

Hibernate第一个实例

上面我们把开发环境搭好了,到这里我们就可以开撸了。使用Hibernate一共有四步,分别是:

创建Hibernate配置文件 创建持久化类 创建映射文件 通过Hibernate API访问数据库

创建Hibernate配置文件

配置文件主要是配置数据库的一些信息,包括用户名和密码等。它可以是properties文件,也可以是xml文件,比较常用的是xml文件。这里我用的是xml文件,默认名为hibernate.cfg.xml,放在resources文件夹下。当然你也可以另起名字,不过要在代码中显式声明,后面我会说到。

hibernate.cfg.xml

?
12345678910111213141516171819202122232425262728<!--?xml version='1.0'encoding='utf-8'?--> <hibernate-configuration>    <session-factory>         <!-- 指定连接数据库所用的驱动 -->        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>        <!-- 指定连接数据库的url,hibernate连接的数据库名 -->        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>        <!-- 指定连接数据库的用户名 -->        <property name="hibernate.connection.username">root</property>        <!-- 数据库的登陆密码 -->        <property name="hibernate.connection.passWord">199498xy</property>        <!-- 指定连接数据库的编码 -->        <property name="connection.characterEncoding">utf8</property>        <!-- 指定数据库方言 -->        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>        <!-- 显示Hibernate持久化操作所生成的SQL -->        <property name="show_sql">true</property>        <!-- 将SQL脚本进行格式化后再输出 -->        <property name="format_sql">true</property>        <!-- 指定自动生成数据表的策略 -->        <property name="hbm2ddl.auto">update</property>         <!-- 罗列所有的映射文件 -->        <mapping resource="mapping/User.hbm.xml">    </mapping></session-factory></hibernate-configuration>

代码我不多说,重要的都写了注释,相信都看得明白。这里要说的是mapping节点,它用来指明映射文件的位置,一个映射文件对应一张表,每个映射文件都要在这里列出来。映射文件的内容就是我们后面第三步要说的。

创建持久化类

持久化类就是一个简单的java bean,bean的属性对应表的字段,一个类对应一张表

User.java

?
12345678910111213141516171819202122232425262728293031323334packagecom.doubecharli.bean; /** * Created by Administrator on 2016/12/15. */publicclass User {    privateString id;    privateString username;    privateint password;     publicString getId() {        returnid;    }     publicvoid setId(String id) {        this.id = id;    }     publicString getUsername() {        returnusername;    }     publicvoid setUsername(String username) {        this.username = username;    }     publicint getPassword() {        returnpassword;    }     publicvoid setPassword(intpassword) {        this.password = password;    }}

创建映射文件

映射文件是根据持久化类来写的,还要在配置文件hibernate.cfg.xml中声明。它就相当于持久化类和数据库中表的一座桥梁,Hibernate就是通过它找到数据库的对应字段,从而进行增删查改操作的

User.hbm.xml

?
12345678910<!--?xml version='1.0'encoding='utf-8'?--> <hibernate-mapping>     <classname="com.doubecharli.bean.User"schema="hibernate"table="user">        <id column="id"name="id">        <property column="username"name="username">        <property column="password"name="password">    </property></property></id></class></hibernate-mapping>

class节点的name属性指明映射文件对应的类,tabel指明数据库中对应的表;id节点对应数据库的主键;property 节点的name属性指明持久化类的属性,column指明表的字段

通过Hibernate API访问数据库

到这里我们已经完成了Hibernate的基本搭建,最后一步就是要通过Hibernate的各种API来操作数据库,这也是我们要达到的目的。由于篇幅有限,我这里主要是向数据库中插入一条数据,其他的API我会在后面的文章讲。话不多少,上代码!

?
1234567891011121314151617181920212223242526272829303132333435packagecom.doubecharli; importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.Transaction;importorg.hibernate.cfg.Configuration; /** * Created by Administrator on 2016/12/15. */publicclass HibernateTest {     publicstatic void main(String[] args) {        // 加载Hibernate默认配置文件        Configuration configuration = newConfiguration().configure();        // 用Configuration创建SessionFactory        SessionFactory factory = configuration.buildSessionFactory();        // 创建Session        Session session = factory.openSession();        // 开启事务        Transaction transaction = session.beginTransaction();        // 实例化持久化类        User user = newUser();        user.setId("1");        user.setUsername("doubecharli");        user.setPassword(123456);        // 保存        session.save(user);        // 提交事务        transaction.commit();        // 关闭Session,释放资源        session.close();        factory.close();    }}

执行以后,我们可以到数据库中看看,已经插入了一条记录!说明我们已经通过Hibernate的API来操作数据库,是不是很方便?再也不用写去复杂繁琐的JDBC了

注意:如果你的配置文件命名不是默认的hibernate.cfg.xml,你就要在代码中显式声明配置文件

?
1Configuration configuration = newConfiguration().configure("hibernate.xml"

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表