首页 > Web开发 > 详细

Hibernate入门示例(Myeclipse)

时间:2019-09-29 20:51:44      阅读:76      评论:0      收藏:0      [点我收藏+]

●项目结构

技术分享图片

●本项目所用Hibernate版本为5.4.5.Final,导入jar只需lib目录下的required和MySQL所需的jar驱动

 

 

 1.导入相关jar包(配置构建路径)

说明:本人已将所需的jar包添加到用户库,所以无需建lib目录导入jar包

鼠标在项目名右键,构建路径-->配置构建路径-->添加库-->用户库,选择所需的库

2.创建实体类User.java

技术分享图片
package com.sve.Test;

public class User {
    private int uid;
    private String username;
    private String password;
    private String address;
    
    public int getUid() {
        return uid;
    }
    public void setUid(int uid) {
        this.uid = uid;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    
    
}
User.java

3.创建对象映射User.hbm.xml

一般跟JavaBean对象放在同一目录,后缀为 .hbm.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 package="com.sve.Test">
    <!-- 
        1.配置类与表对应
            class标签
                name属性:实体类名
                table属性:数据库表名称
     -->
    <class name="User" table="User">
        
        <!-- 
            2.配置实体类id与表id对应
            hibernate要求实体类有一个属性唯一值
            hibernate要求表有字段作为唯一值
         -->
         
         <!-- 
             id标签
             name属性:
             column属性:
          -->
        <id name="uid" column="uid">
            <!-- 
                      设置数据库表id增长策略
                      native:生成表id值就是主键自动增长
                   -->
            <generator class="native"></generator>
        </id>
        
        <!-- 
                  配置其他属性和表字段对应
                  name属性:实体类属性名称
                  column属性:生成表字段名称
           -->
        <property name="username" column="username"></property>
        <property name="password" column="password"></property>
        <property name="address" column="address"></property>
    </class>
</hibernate-mapping>
User.hbm.xml

4.创建hibernate.cfg.xml

放在src目录下,名字不可改

技术分享图片
<?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节点代表一个数据库 -->
    <session-factory>
        <!-- 第一部分: 配置数据库信息,必须的 -->
        <!-- 加载驱动 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <!-- 创建链接 serverTimezone=UTC:防止时区问题 -->
        <property name="hibernate.connection.url">jdbc:mysql:///hibernate_demo?serverTimezone=UTC</property>
        <!-- 数据库用户名 -->
        <property name="hibernate.connection.username">root</property>
        <!-- 数据库用户名密码 -->
        <property name="hibernate.connection.password">123456</property>

        <!-- 第二部分:配置hibernate信息 ,可选的 -->
        <!-- 数据库方法配置, hibernate在运行的时候,会根据不同的方言生成符合当前数据库语法的sql -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <!-- 显示hibernate在运行时候执行的sql语句 -->
        <property name="hibernate.show_sql">true</property>
        <!-- 格式化sql语句 -->
        <property name="hibernate.format_sql">true</property>
        <!-- update:如果有表,则更新,没有表,则创建 -->
        <property name="hibernate.hbm2ddl.auto">create</property>

        <!-- 第三部分:把映射文件放到核心文件中 ,必须的 -->
        <mapping resource="com/sve/Test/User.hbm.xml" />
    </session-factory>
</hibernate-configuration>
hibernate.cfg.xml

5.测试

技术分享图片
package com.sve.Test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class Test {
    public static void main(String[] args) {
        User user=new User();
        user.setUsername("小小");
        user.setPassword("123");
        user.setAddress("天坛");
        
          
          //获取加载配置管理类
            Configuration configuration = new Configuration();
            
          //不给参数就默认加载hibernate.cfg.xml文件,
            configuration.configure();
            
            //创建Session工厂对象
            SessionFactory factory = configuration.buildSessionFactory();
            
          //得到Session对象
            Session session = factory.openSession();
            
          //使用Hibernate操作数据库,都要开启事务,得到事务对象
            Transaction transaction = session.getTransaction();
            
          //开启事务
            transaction.begin();
            
          //把对象添加到数据库中
            session.save(user);
            
          //提交事务
            transaction.commit();

            //关闭Session
            session.close();
    }
}
Test.java

运行成功后,查看相应的数据库的表是否发生改变和控制台是否有相应的语句

本示例参考https://www.cnblogs.com/Java3y/p/8520601.html,在此感谢Java3y

Hibernate入门示例(Myeclipse)

原文:https://www.cnblogs.com/qc-wh/p/11609245.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!