Hibernate之体验

来源:互联网 发布:天津师范大学校园网络 编辑:程序博客网 时间:2024/05/21 22:35

hibernate在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层。
百度百科的解释是:

Hibernate (开放源代码的对象关系映射框架)

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任

下面是Hibernate的使用:
首先去官网 下载jar文件地址如下;
http://hibernate.org/orm/
现在的最新的版本是 5.2.4的版本了 。
这里我是下载了最新的版本,解压之后会发现有好多文件夹,这里我暂时使用到的是

hibernate-release-5.2.4.Final\lib\required   文件夹底下的jar包

把required 文件下的jar包导入之后别忘了把数据库的驱动包导入 然后添加到当前的工程中 。如图:
这里写图片描述

然后配置hubernate.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.jdbc.Driver</property>        <!--设置数据库的链接-->        <property name="hibernate.connection.url">jdbc:mysql://localhost/test?useSSL=true</property>        <!--设置方言-->        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>        <!--是否允许创建数据库-->        <property name="hbm2ddl.auto">update</property>        <!--用户名-->        <property name="hibernate.connection.username">root</property>        <!--数据库密码-->        <property name="hibernate.connection.password">123456</property>        <!--映射文件-->        <mapping resource="entity/Tab1Entity.hbm.xml"/>    </session-factory></hibernate-configuration>

文件的开头一般都这么写

<!DOCTYPE hibernate-configuration PUBLIC        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

“hbm2ddl.auto” 的值有四种

  1. 列表内容create:表示启动的时候先drop,再create

  2. create-drop: 也表示创建,只不过再系统关闭前执行一下drop

  3. update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新

  4. validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新
<!--映射文件--> <mapping resource="entity/Tab1Entity.hbm.xml"/>

这句可以不用添加 IDEA会自动生成表中的实体然后添加到 hibernate.cfg.xml文件中

情景: 把数据表映射成实体类

第一步:首先创建一个项目并勾选 Hibernate 选项

这里写图片描述

如果是Hibernate 忘记添加怎么办呢 如下图添加.

这里写图片描述

第二步 测试数据库链接

IDEA 自带了一个很好的数据库连接功能在面板的 右侧

这里写图片描述

创建一个数据库的链接如图

这里写图片描述

然后填写一些链接配置信息

这里写图片描述

如果没有问题 那点击 test connect 就可以 验证通过了 。那么就会看到数据库的一些表的信息

这里写图片描述

第三步:映射实体类

这里写图片描述

这里写图片描述

这里会自动创建 xxxx.hbm.xml 还有XXXEntity

这里写图片描述

创建测试程序

public class Main {    public static void  main(String  [] agrs){        final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()                .configure()                .build();        SessionFactory sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory();        Session session= sessionFactory.openSession();        session.beginTransaction();        //创建一条数据        Tab1Entity  tab1Entity=new Tab1Entity();        // tab1Entity.setId("123");        tab1Entity.setName("我是3");        //保存数据        session.save(tab1Entity);        //提交        session.getTransaction().commit();    }}
0 0
原创粉丝点击