hibernate.cfg.xml(hibernate配置文件):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/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/test</property>
<property name="connection.username">root</property>
<property name="connection.password">111111</property>
<!-- 定义方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 显示SQL语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 引入映射文件 -->
<mapping resource="entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
User.hbm.xml(hibernate映射文件):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="entity.User" table="t_user">
<id name="userId" column="id">
<!-- 主键生成策略 native -->
<generator class="native"/>
</id>
<property name="email" column="email" ></property>//name是实体类定义的成员变量名,column是数据表里的列名
<property name="nickName" column="nickname" ></property>
<property name="password" column="PASSWORD" ></property>
<property name="userIntegral" column="user_integral" ></property>
<property name="isEmailVerify" column="is_email_verify"></property>
<property name="emailVerifyCode" column="email_verify_code"></property>
<property name="lastLoginTime" column="last_login_time"></property>
<property name="lastLoginIp" column="last_login_ip"></property>
</class>
</hibernate-mapping>
(读取hibernate配置文件的类。把信息存到sessionFactory 里)
HibernateUtil.java:
package util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
public class HibernateUtil {
public static final String HIBERNATE_CONFIG_FILE = "/hibernate.cfg.xml";
public static Configuration configuration = new Configuration().configure(HIBERNATE_CONFIG_FILE);
public HibernateUtil() {
}
private static SessionFactory sessionFactory = configuration.buildSessionFactory();
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static void close(Session session){
if(session != null){
session.close();
}
}
// public static void main(String[] args) {
// System.out.println(sessionFactory);
// }
}
(实体类)
User.java:
package entity;
public class User {
public User() {
}
private int userId;
private String email;
private String nickName;
private String password;
private int userIntegral=1;
private char isEmailVerify;
private String emailVerifyCode;
private long lastLoginTime;
private String lastLoginIp;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getUserIntegral() {
return userIntegral;
}
public void setUserIntegral(int userIntegral) {
this.userIntegral = userIntegral;
}
public char getIsEmailVerify() {
return isEmailVerify;
}
public void setIsEmailVerify(char isEmailVerify) {
this.isEmailVerify = isEmailVerify;
}
public String getEmailVerifyCode() {
return emailVerifyCode;
}
public void setEmailVerifyCode(String emailVerifyCode) {
this.emailVerifyCode = emailVerifyCode;
}
public long getLastLoginTime() {
return lastLoginTime;
}
public void setLastLoginTime(long lastLoginTime) {
this.lastLoginTime = lastLoginTime;
}
public String getLastLoginIp() {
return lastLoginIp;
}
public void setLastLoginIp(String lastLoginIp) {
this.lastLoginIp = lastLoginIp;
}
}
(测试配置成功)
TestUserDao.java:
package test;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.junit.Test;
import util.HibernateUtil;
import entity.User;
public class TestUserDao {
@SuppressWarnings("null")
//@Test
public void save(){
Session session = null;
try{
session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
User user = new User();
user.setEmail("1@1.com");
user.setNickName("smail A");
user.setPassword("1234");
session.save(user);
session.getTransaction().commit();
}catch(HibernateException e){
e.printStackTrace();
session.getTransaction().rollback();
}finally{
HibernateUtil.close(session);
}
}
@Test
public void deleteUserById(){
Session session = null;
try{
session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
User user = new User();
user.setUserId(1);
session.delete(user);
session.getTransaction().commit();
}catch(HibernateException e){
e.printStackTrace();
session.getTransaction().rollback();
}finally{
HibernateUtil.close(session);
}
}
}