hibernate搭建入门idea版(配置文件方式)

hibernate搭建入门idea版(配置文件方式)

这里使用的是maven方式搭建

一、搭建项目准备
选择默认maven骨架,直接next,创建好项目
在这里插入图片描述
然后Add添加Hibernate核心配置文件
在这里插入图片描述
添加配置文件
在这里插入图片描述
然后按照如下建包和文件:
在这里插入图片描述
二、配置环境依赖

  1. pom加上jar依赖座标
		<!--hibernate jar-->
		<dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.1.2.Final</version>
        </dependency>
        <!--mysql驱动jar-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.15</version>
        </dependency>

2、User.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>
    <!--1、配置类和表的对应关系
        class标签
            name属性:实体类全路径
            table属性:数据库表名称
        -->
    <class name="cn.hb.entity.User" table="t_user">
        <!--2、配置实体类id和表id对应
            hibernate要求实体类有一个属性唯一值
            hibernate要求表有字段作为唯一值
        -->
        <!--id标签
                name属性:实体类里面的id属性名称
                column属性:生成的表字段名称
        -->
        <id name="id" column="id">
            <!--设置数据库表id增长策略
                native:生成表id值就是主键自动增长-->
            <generator class="native"/>
        </id>
        <!--配置其他属性和表字段对应
                name属性:实体类里面的id属性名称
                column属性:生成的表字段名称
                length属性:字段长度
                -->
        <property name="username" column="username" length="32"/>
        <property name="password" column="password" length="32"/>
        <property name="address" column="address" length="32"/>
    </class>
</hibernate-mapping>

3、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>
      <!--第一部分:配置数据库信息-->
      <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
      <property name="hibernate.connection.url">jdbc:mysql://主机ip地址:3306/db</property>
      <property name="hibernate.connection.username">root</property>
      <property name="hibernate.connection.password">root</property>

      <!--第二部分:配置hibernate信息   可选的-->

      <!--输出底层sql语句-->
      <property name="hibernate.show_sql">true</property>
      <!--输出底层sql语句格式-->
      <property name="hibernate.format_sql">true</property>
      <!--hibernate自动创建表,需要配置之后
        update:如果已经有表,更新,如果没有,创建
      -->
      <property name="hibernate.hbm2ddl.auto">update</property>
      <!--配置数据库方言
        mysql中实现分页,用limit的关键字  -只能mysql中使用
        oracle中实现分页,用rownum关键字
        让hibernate框架识别不同数据库自己特有的语句(方言)
      -->
      <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

        <!--第三部分:把映射文件放到核心配置文件中 必须的-->
      <mapping resource="User.hbm.xml"/>

  </session-factory>
</hibernate-configuration>

三、测试

public class test_hibernate {
 public static void main(String[] args) {
   //加载配置
  Configuration configuration = new Configuration();
  configuration.configure();
  //创建SessionFactory工厂对象
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  //创建Session对象
  Session session = sessionFactory.openSession();
  //开启事物
  Transaction tx = session.beginTransaction();
  //执行操作crud
  User user = new User();
  user.setUsername("张三");
  user.setPassword("123456");
  user.setAddress("中国");
  session.save(user);
  //提交事物
  tx.commit();
  //释放资源
  session.close();
  sessionFactory.close();
 }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章