zoukankan      html  css  js  c++  java
  • 关于Hibernate的一个简单小程序

    本人根据视频学习了一下三大框架中比较简单的一个Hibernate,并简单完成了一个运用Hibernate的小程序

    Hibernate是一个简化web程序Dao层的一个框架,应用他,可以完全脱离sql语句

    第一步:创建一个java项目,没有必要创建一个web项目,因为Hibernate本身是针对后台对数据库的操作的

    第二步:导入jar包:可以在根目录下创建一个lib文件夹用来存放导入的jar包,当然要先下载Hibernate的资源包并解压,打开之后首先将根目录的两个jar包导入,截图如下

     然后打开lib文件夹将required文件夹里的jar包全部导入,再将jpa文件夹的jar包导入,最后导入mysql的连接的jar包,至此,需要的jar包全部导入完毕,最后右击创建的lib文件夹,进行一下build path

    第三步:

    创建一个实体类,为了简单,只创建一个user类,包含三个属性,id,username,pasword,并分别写出get和set函数,并在后台数据库中创建出相应的表

    第四部:配置链接数据库的xml文件,该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.jdbc.Driver</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.connection.password">root</property>
            <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/EE19Day01</property>
            
            <!-- 操作数据库时,会向控制台打印sql语句 -->
            <property name="show_sql">true</property>
            <!-- 在打印sql语句之前,首先对其进行转化,转化成程序员可以看懂的sql语句 -->
            <property name="format_sql">true</property>
            <!--是否自动生成表结构 -->
            <property name="hbm2ddl.auto">update</property>
            <!-- 事务自动提交 -->
            <property name="hibernate.connection.autocommit">true</property>
            <mapping resource="User.hbm.xml"/>
        </session-factory>
    </hibernate-configuration>

    第五步:配置Hibernate的orm映射关系,代码如下:全称是User.hbm.xml(最好xml的名称与类的名称保持一致,以便后边的简单操作)

    <?xml version="1.0" encoding="UTF-8"?>
    <!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="cn.heima_hello.User"  table="t_user">
        <id name="id" column="id">
         <generator class="native"> </generator>
        </id>
       
        <property name="username" column="username"></property>
        
        <property name="password" column="password"></property>
        </class>
        </hibernate-mapping>

    第六步:创建一个测试类,对数据库进行操作

    package cn.heima_hello;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    
    
    public class test01 {
    
        
        public void fun1() {
        //1.读取配置文件
            Configuration conf = new Configuration().configure();
        //2.根据数据创建factory对象
            SessionFactory sessionFactory = conf.buildSessionFactory();
        //3.获取操作数据库的session对象
            Session session = sessionFactory.openSession();
        //4.操作数据库
            User user = new User();
            user.setUsername("Tom");
            user.setPassword("1234");
            session.save(user);
        //5.关闭资源
            session.close();
            sessionFactory.close();
        }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            test01 test01 = new test01();
             test01.fun1();
        }
    
    }

    至此,一个简单的Hibernate程序已经搭建好,如果有什么问题,给以评论私聊

  • 相关阅读:
    A Node Influence Based Label Propagation Algorithm for Community detection in networks 文章算法实现的疑问
    Fast Newman-FN算法以及模块度定义介绍
    Label Propagation Algorithm LPA 标签传播算法解析及matlab代码实现
    设计一个smartnic
    Intel GEN11 GPU
    Intel GEN9 GPU
    Shared Virtual Memory (SVM) Functions
    connect via ssh to virtualbox guest vm without knowing ip address
    smartnic
    技术精品翻译
  • 原文地址:https://www.cnblogs.com/ljysy/p/9411323.html
Copyright © 2011-2022 走看看