hibernate连接mysql数据库步骤_Hibernate学习笔记:IDEA下Maven工程使用Hibernate示例

开发步骤

1、使用IDEA创建Maven工程;

2、添加MySQL和Hibernate依赖,并通过IDEA生成Hibernate配置文件hibernate.cfg.xml;

3、通过IDEA生成持久化类和对象-关系映射文件*.hbm.xml;

4、通过Hibernate API编写访问MySQL数据库的代码。

创建Maven工程

创建步骤如图所示:

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

选择Create New Project.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

选择Maven.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

填写坐标.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

单击Finish.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Maven工程创建完成.png

添加依赖,并生成hibernate.cfg.xml配置文件

在pom.xml文件中添加Hibernate、MySQL、Junit三个依赖:

org.hibernate

hibernate-core

4.1.1.Final

mysql

mysql-connector-java

5.1.15

junit

junit

RELEASE

通过IDEA生成Hibernate.cfg.xml配置文件步骤如图:

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

选择Project Structure....png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

选择Facets、Hibernate.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

选择HibernateProject.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

选择配置文件.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

选择配置文件路径在resources下.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

配置文件完成.png

此时要在hibernate.cfg.xml配置文件中写入配置信息:

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

写入配置信息.png

代码如下,其中connection.username是MySQL的登录账户名,connection.password是密码,我这里账户名是root,密码是123。

root

123

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306

org.hibernate.dialect.MySQL5InnoDBDialect

true

true

update

使用IDEA生成持久化类及*.hbm.xml文件

在MySQL数据库中建立students数据库并新建student表,如图:

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

在MySQL中建数据库、建表.png

将id列的自增勾选上:

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

勾选id的自增.png

在IDEA中生成持久化类、*.hbm.xml文件:

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

IDEA连接数据库.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

填写用户名和密码测试连接成功后确定.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

选择Persistence.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

选择By Database Schema.png

进入Import Database Schema界面,Choose Data Source项选择@localhost后可以看到MySQL中的数据库以及其中的表信息,勾选student、age、id、lastName。Package是存放持久化类StudentEntity和映射文件StudentEntity.hbm.xml的包,需要提前建好,我这里在java下建的包名是test。勾选Add to Session Factory和Generate Separ...后单击OK即可生成持久化类和映射文件。

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

生成映射类及hbm文件.png

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

生成的持久化类和映射文件.png

此时需要:

将StudentEntity.hbm.xml文件移至resources文件夹下,否则配置文件hibernate.cfg.xml会找不到它,运行时会报错;

更改StudentEntity.hbm.xml文件中id的generator,填写class为native。

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

修改一些东西.png

再回到hibernate.cfg.xml文件中可以看到IDEA已经帮我们填写好了映射文件的地址:

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

IDEA填写映射文件地址.png

通过Hibernate API编写访问数据库代码

新建HibernateTest类进行测试:

public class HibernateTest {

@Test

public void Test(){

//SessionFactory是生成Session的工厂

SessionFactory sessionFactory=null;

//Configuration类负责管理Hibernate的配置信息

Configuration configuration=new Configuration().configure();

//Hibernate4之后新增ServiceRegistry接口,所有基于Hibernate 的配置都必须统一向这个ServiceRegistry注册后才能生效

ServiceRegistry serviceRegistry=new ServiceRegistryBuilder()

.applySettings(configuration.getProperties())

.buildServiceRegistry();

//生成SessionFactory类

sessionFactory=configuration.buildSessionFactory(serviceRegistry);

//生成Session类

Session session=sessionFactory.openSession();

//事务

Transaction transaction=session.beginTransaction();

//新建一个StudentEntity实例,将它插入数据库

StudentEntity studentEntity=new StudentEntity();

studentEntity.setId(1);

studentEntity.setAge(20);

studentEntity.setLastName("乔峰");

//Session的save操作将这个实例从临时状态变为持久化状态

session.save(studentEntity);

//提交事务

transaction.commit();

//关闭操作

session.close();

sessionFactory.close();

}

}

运行结果后如图,输出了一条SQL的插入语句。

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

运行成功.png

查看数据库,已经将刚才的实例成功插入了数据库。

4c6f88379d19?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

数据库插入成功.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值