初识Hibernate,使用Hibernate(使用maven开发)

什么是Hibernate,Hibernate有什么作用?

答;在没有使用Hibernate之前,我们程序员通过自己编写代码对DB(数据库)实现JDBC操作,其中出现了大量冗余的代码,管理起来十分不方便。

  1. Hibernate是一个简单的结构,将一系列操作封装起来,我们只管使用他们提供对API进行调用,完成JDBC操作;
  2. Hibernate是一个ORM(Object Relationship Mapping)对象映射框架,程序员在编写代码的时候,使用对是面向对象的思想,但是在关系型数据库存储数据的时候,使用的是一条条的数据。为了用纯面向对象的方式解决问题,将所有程序中的对象和数据库建立起映射关系,ORM就是这样的技术。而Hibernate就是这样的框架,用面向对象的方式来操作数据库。
  3. HIbernate屏蔽了数据库的差异,例如我们需要将数据库从mysql更换为Orecle,只需要更改方言等配置就可以实现;

开始使用Hibernate(使用Maven开发):

创建一个Maven项目:


2)在Src/main/resource中创建hibernate.cfg.xml(使用默认名字)

hibernate.cfg.xml中的配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!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.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
  <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/blxny?useSSL=false&amp;serverTimezone=CTT</property>
  <property name="hibernate.connection.username">root</property>
  <property name="hibernate.connection.password">cuisizhe</property>
  
  <!-- 配置mysql方言 -->
                                               <!-- 一定要设置成5以上 -->
  <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
 <!-- 是否显示mysql -->
  <property name="hibernate.show_sql">true</property>
 <!-- 格式化mysql -->
  <property name="hibernate.format_sql">true</property>
 <!-- 自动创建mysql表 -->
  <property name="hibernate.hbm2ddl.auto">update</property>
  
  
 </session-factory
</hibernate-configuration>

注意错误:

3)在src/main/java目录下创建Student类

在Student中创建字段,并且提供get和set方法,提供空的构造器和带参数构造器,覆盖toString方法.

4)产生映射文件(连续next 然后finish)

5)因为我们添加了映射文件,我们需要告诉hibernate.cfg.xml,因此需要配置

6)基本配置完成,创建测试类

如果不会:先点击OK,然后对着整个项目右键BuildPath->BuildLibrary-->JUnit--->JUnit4--->finish

测试类对运行方式是

@Test
	public void test() {
		//初始化  第一次比较繁琐  但是我们可以经过封装,以后就不用编写了
		Configuration configuration = new Configuration().configure();
		ServiceRegistry serviceRegistry = configuration.getStandardServiceRegistryBuilder().build();
		SessionFactory sessionFactory = new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
		Session session = sessionFactory.openSession();
		Transaction transaction = session.beginTransaction();
		
		//测试插入一个数据
		Student s = new Student("测试1号","男");
		session.save(s);
		
		
		//关闭  先开后关
		transaction.commit();
		session.close();
		sessionFactory.close();
	}

大功告成   会生成一个Create语句和一个Insert语句  前面设置<property name="hibernate.hbm2ddl.auto">update</property>  表示如果不存在表则自动创建

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值