hibernate搭建入门idea版(配置文件方式)
这里使用的是maven方式搭建
一、搭建项目准备
选择默认maven骨架,直接next,创建好项目
然后Add添加Hibernate核心配置文件
添加配置文件
然后按照如下建包和文件:
二、配置环境依赖
- 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();
}
}