首先打开IDEA 新建一个Maven项目

接下来导入maven依赖
<dependencies>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
<!-- log4j jar -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
<!--junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!-- Hibernate jar-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-agroal</artifactId>
<version>5.4.27.Final</version>
<type>pom</type>
</dependency>
</dependencies>
再配置hibernate.cfg.xml文件(IDEA自动生成)
1.点击

2.点击+号找到Hibernate文件一路next即可(我已经配过了所有里面没有)
在hibernate.cfg.xml文件中配置相相关属性(有注释):
<session-factory>
<!-- 配置数据库的基本信息 -->
<!--数据库连接url-->
<property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property>
<!--连接数据库的Driver-->
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<!--用户名-->
<property name="connection.username">scott</property>
<!--密码-->
<property name="connection.password">123456</property>
<!-- 配置hibernate指定数据库的方言 -->
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<!-- 配置hibernate的基本信息 -->
<!-- 配置后才能使用session = sessionFactory.getCurrentSession(); -->
<property name="current_session_context_class">thread</property>
<!-- 打印sql语句到控制台 -->
<property name="show_sql">true</property>
<!-- 格式化sql语句 -->
<property name="format_sql">true</property>
<!-- 指定自动生成数据表的策略 -->
<property name="hbm2ddl.auto">update</property>
<!-- 注册实体关系映射文件 -->
<mapping resource="com/xxx/pojo/users.hbm.xml"/>
</session-factory>创建持久化类和映射文件
public class users {
private int id;
private String name;
private String password;
private String telephone;
private String username;
private String isadmin;
@Override
public String toString() {
return "users{" +
"id=" + id +
", name='" + name + '\'' +
", password='" + password + '\'' +
", telephone='" + telephone + '\'' +
", username='" + username + '\'' +
", isadmin='" + isadmin + '\'' +
'}';
}
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 getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getIsadmin() {
return isadmin;
}
public void setIsadmin(String isadmin) {
this.isadmin = isadmin;
}
}
类对应的映射文件(有注释)
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!--name实体类路径 table数据库表名 schema表的拥有者-->
<class name="com.xxx.pojo.users" table="users" schema="scott">
<!--此id属性标志 主键映射 name为实体类中的属性名称 type为数据类型 column为数据库中的类名-->
<id name="id" type="java.lang.Integer" column="id">
<!--此属性用于指定具体注解生成策略 assigned策略,不使用主键生成策略,由手工输入-->
<generator class="assigned"></generator>
</id>
<!--name为实体类中的属性名称 type为数据类型 column为数据库中的列名 not-null表示不能为空与数据库对应-->
<property name="name" type="java.lang.String" column="name" not-null="true"/>
<property name="password" type="java.lang.String" column="password"/>
<property name="telephone" type="java.lang.String" column="telephone"/>
<property name="username" type="java.lang.String" column="username"/>
<property name="isadmin" type="java.lang.String" column="isadmin"/>
</class>
</hibernate-mapping>最后编写测试类,查询主键为1的users类的信息,进行测试是否配置OK(看注释)
import com.xxx.pojo.users;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
public class UserTest {
@Test
public void test1(){
//创建一个sessionFactory对象
SessionFactory factory = new Configuration().configure().buildSessionFactory();
//创建一个session
/*Session session=factory.getCurrentSession();*/
Session session = factory.openSession();
//开启事务
Transaction transaction = session.beginTransaction();
//查询数据
users users = session.get(users.class, 1);
System.out.println(users);
//提交事务
transaction.commit();
//事务回滚
// transaction.rollback();
//关闭session
session.close();
//关闭sessionFactory
factory.close();
}
}运行结果

期间可能遇到的报错:
1.项目找不到xml文件,在maven文件中加入这段代码:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xm1</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>2.还有这个:Message: 2 字节的 UTF-8 序列的字节 2 无效
在项目的settings里面搜索 File Encoding将这两个选项都设置为UTF-8;(需要重启)

我差不多就遇到这两个报错
版权声明:本文为qq_51663359原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。