IDEA Hibernate入门配置
首先新建一个项目,我是用的最新版5.3.2,下载jar包要等一会儿,然后取个自己的项目名,我这里就叫demo吧我这里选择以maven方式来构建,在项目上右击,选择Add Framework Support在之后的选择Maven之后在项目的右下角弹出一个提示框,选择自动导入然后在pom.xml文件下添加<dependencies>&l...
首先新建一个项目,我是用的最新版5.3.2,下载jar包要等一会儿,然后取个自己的项目名,我这里就叫demo吧
我这里选择以maven方式来构建,在项目上右击,选择Add Framework Support
在之后的选择Maven
之后在项目的右下角弹出一个提示框,选择自动导入
然后在pom.xml文件下添加
<dependencies>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-core -->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl -->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0.1</version>
</dependency>
</dependencies>
然后在resources,新建一个xml文件,取名叫hibernate.cfg.xml
<?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>
<!-- 数据库连接配置 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">1</property>
<!-- 方言 -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 控制台显示sql -->
<property name="show_sql">true</property>
<!-- 自动更新表结构 -->
<property name="hbm2ddl.auto">update</property>
<!-- 配置Student映射文件 -->
<mapping resource="Student.hbn.xml"/>
</session-factory>
</hibernate-configuration>
然后在界面的右上角点击弹出的提示框,让这个文件成为hibernate的配置文件,点击项目结构按钮,就可以看到刚刚添加的配置文件了
还是在resources文件夹下,新建一个xml文件,名字叫Student.hbn.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="mode">
<class name="mode.Student" table="t_student">
<id name="id" column="stuId" >
<generator class="native" />
</id>
<property name="name" />
</class>
</hibernate-mapping>
先去数据库新建一个hibernate数据库,我这里就直接叫的hibernate,先新建一个两个包,一个叫model,另一个叫util
然后在model包下新建一个实体类,名叫Student,并生成get、set方法,以及toString方法
public class Student {
private long id;
private String name;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
在util包下新建一个工具类,名叫HibernateUtil
public class HibernateUtil {
private static final SessionFactory SESSION_FACTORY = buildSessionFactory();
private static SessionFactory buildSessionFactory(){
//创建服务注册对象
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
//创建会话工厂对象
return new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
}
public static SessionFactory getSessionFactory(){
return SESSION_FACTORY;
}
}
在任何一个类下按Alt+Enter,选择Create Test
然后在弹出的对话框中选择用TestNG来测试
然后就可以新建一个Test类了,名字就用默认就行了,然后在里面添加如下的代码
package model;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import util.HibernateUtil;
public class StudentTest {
private SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
private Session session;
@BeforeMethod
public void setUp() {
session = sessionFactory.openSession();
session.beginTransaction();
}
@AfterMethod
public void tearDown() {
session.getTransaction().commit();
session.close();
}
@Test
public void add(){
Student student = new Student();
student.setName("张三");
session.save(student);
}
}
然后点击左边的运行按钮运行就可以看到数据库里有表了
更多推荐
所有评论(0)