這篇文章是學習ORM的第一步!
老師講了,學習ORM要分三步:
1、Why ORM?
2、What ORM?
3、How ORM?
這三步前兩步的表面意思很好理解,但是深入理解以及第三步的具體內容還需要放到以後的學習中去。
下面步入正題:
1、首先下載所需要的Hibernate文件,這裏用的是老師提供的hibernate-release-5.2.10.Final.
2、導入所需要的jar包,因爲老師比較大方,所以我們也得到了Hibernate配置的全部jar包,下面是我的截圖:
3、創建實體類User.java:
代碼如下:
package com;
public class User {
private int id;
private String name;
private String password;
private int age;
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
4、配置映射關係(實體類和數據庫表的對應關係):
代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="com.User" table="zxw">
<id name="id" column="ID" type="int">
<generator class="increment"/>
</id>
<property name="name" column="name" type="java.lang.String" />
<property name="password" column="password" type="java.lang.String" />
<property name="age" column="age" type="int"/>
</class>
</hibernate-mapping>
5、創建配置文件:
代碼如下:
<!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="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/zxw</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<mapping resource="com/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
6、編寫測試類:
代碼如下:
package test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.User;
public class TestUser {
public static void main(String[] args) {
Configuration conf = new Configuration().configure();//1、讀取配置文件
SessionFactory sf = conf.buildSessionFactory();// 2、創建SessionFactory
Session session = sf.openSession();// 3、打開Session
Transaction tx = null;
try{
tx = session.beginTransaction();// 4、開始一個事務
// 5、持久化操作
User user = new User();
user.setName("zxw");
user.setPassword("1514010628");
user.setAge(22);
session.save(user);
tx.commit();// 6、 提交事務
}catch(Exception e){
if (null!=tx){tx.rollback();}
e.printStackTrace();
}finally{
session.close();// 7、關閉Session
}
}
}
7、運行測試類:
8、刷新數據庫,導入信息已存在:
9、Hibernate配置與測試完成!