eclipse搭建hibernate项目-超详细-小白入门

eclipse配置hibernate环境

  • 下载hibernate所需jar包

  • 创建项目
    在eclipse创建一个web项目 ,在左上角依次选择File–>New–>Dynamic Web project(若没有这个,可以选择other,再在里面找到Dynamic Web project)–>填写项目名–>finish即可。
    在这里插入图片描述

  • 导入项目所需jar包
    在项目中依次展开WebContent–>WEB-INF可以看到有一个lib文件夹(若没有,右键手动创建一个即可),接下来就是导入我们需要的jar包,除需导入hibernate核心jar包外,我们还需用到mysql驱动包,Junit单元测试包(非必须)。这里是博主导入的所有jar包(本项目所导入的jar包),接下来我们将jar包复制到eclipse中
    在这里插入图片描述
    导入后的jar包我们还不能直接使用,需要Build Path,在lib文件夹上右键,选择Build Path–>Use as Source Folder,完成后,将会看到java Resources中会多一个WebContent/WEB-INF/lib
    在这里插入图片描述
    到目前,我们所导入的jar就可以使用了。

  • 创建数据库
    打开mysql管理工具(我这里使用的是navicat),连接好数据库,在数据库上右键,新建数据库,填写数据库名,字符集与排序规则,点击确定。
    在这里插入图片描述

若没有数据库管理工具,可以在cmd中登录数据库,写入以下语句

CREATE DATABASE `hibernate_test` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
  • 编写java bean
    • 在entity包下创建一个名为student的实体类
    package entity;
    
    public class Student {
    	private int id;
    	private String name;
    	private String sex;
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getSex() {
    		return sex;
    	}
    	public void setSex(String sex) {
    		this.sex = sex;
    	}
    	
    }
    
    
    • 在entity包上右键New–>Other–>输入file–>选择General下的File,点击Next。编写编写数据库与java Bean对应的映射文件Student.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>
        <class name="entity.Student" table="student">
            <id name="id" column="id">
                <generator class="identity"/>
            </id>
            <property name="name" column="name"/>
            <property name="sex" column="sex"/>
        </class>
    </hibernate-mapping>
    
    在这里插入图片描述
  • 在src下创建hibernate.cfg.xml配置文件
    创建方法同上
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD//EN"
            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
        	<!-- mysql驱动 -->
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <!-- mysql连接url -->
            <property name="connection.url">jdbc:mysql://localhost:3306/hibernate_test?useUnicode=true&amp;charachterEncoding=UTF-8</property>
            <!-- mysql用户名 -->
            <property name="connection.username">root</property>
            <!-- mysql密码 -->
            <property name="connection.password">root</property>
            <!-- 数据库方言 -->
            <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
            <!-- 是否在控制台显示SQL语句 -->
            <property name="show_sql">true</property>
            <!-- 是否格式显示SQL语句 -->
            <property name="format_sql">true</property>
            <!-- 自动创建数据表 -->
            <property name="hibernate.hbm2ddl.auto">update</property>
            <!-- 映射关系配置 -->
            <mapping class="entity.Student"/>
            <mapping resource="entity/Student.hbm.xml"/>
        </session-factory>
    </hibernate-configuration>
    
    • 编写测试类StudentTest
    package test;
    
    import java.util.EnumSet;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.boot.MetadataSources;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    import org.hibernate.boot.spi.MetadataImplementor;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.service.ServiceRegistry;
    import org.hibernate.tool.hbm2ddl.SchemaExport;
    import org.hibernate.tool.schema.TargetType;
    import org.junit.Test;
    
    import entity.Student;
    
    public class StudentTest {
    
    	/**
    	 * 创建数据表
    	 */
    	@Test
    	public void addTable() {
    		ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
    		MetadataImplementor metadataImplementor = (MetadataImplementor) new MetadataSources(serviceRegistry).buildMetadata();
    		SchemaExport export = new SchemaExport();
    		export.create(EnumSet.of(TargetType.DATABASE), metadataImplementor);
    	}
    	
    	/**
    	 * 添加一个学生
    	 */
    	@Test
    	public void addStudent() {
    		Configuration configuration = new Configuration().configure();
    	ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
    	SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    	Session session = sessionFactory.openSession();
    	Student student = new Student();
    	student.setName("Tom");
    	student.setSex("男");
    	session.save(student);
    	session.beginTransaction().commit();
    	session.close();
    	sessionFactory.close();
    	}
    }
    
    
    运行成功的截图在这里插入图片描述
    接下来我们到navicat中刷新数据库查看运行结果
    在这里插入图片描述
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值