标签:hibernate
一:创建WEB项目
二:导入Hibernate项目开发包
三:根据数据库结构创建类
package com.cloud.domain;
public class Users {
private Integer id;
private String name;
private String pwd;
private String email;
private String tel;
private Integer grade;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public Integer getGrade() {
return grade;
}
public void setGrade(Integer grade) {
this.grade = grade;
}
}
四:开发domain对象,和对象映射文件
Users.hbm.xml
<?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 package="com.cloud.domain">
<!-- 配置连接数据库的表名 -->
<class name="Users" table="users">
<!-- id元素用于指定主键的属性 -->
<id name="id" column="id" type="java.lang.Integer">
<!-- 主键的生成策略 -->
<generator class="increment"/>
</id>
<!-- 配置表的其他属性 -->
<property name="name" type="java.lang.String">
<column name="name" not-null="false"/>
</property>
<property name="email" type="java.lang.String">
<column name="email" not-null="false"/>
</property>
<property name="pwd" type="java.lang.String">
<column name="pwd" not-null="false"/>
</property>
<property name="tel" type="java.lang.String">
<column name="tel" not-null="false"/>
</property>
<property name="grade" type="java.lang.Integer">
<column name="grade" not-null="false"/>
</property>
</class>
</hibernate-mapping>
五:手动配置hibernate.cfg.xml核心文件
<?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/zjgm03</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- 指定hibernate使用的数据库 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<mapping resource="com/cloud/domain/Users.hbm.xml"/>
</session-factory>
</hibernate-configuration>
六:编写一个工具类
package com.cloud.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
//该类不能被继承
//使用hibernate开发项目时,保证一个数据库只有一个sessionFactory
final public class MySessionFactory {
private static SessionFactory sessionFactory=null;
private MySessionFactory(){
}
static{
sessionFactory=new Configuration().configure().buildSessionFactory();
}
public static SessionFactory getSessionFactory(){
return sessionFactory;
}
}
七:编写测试代码
package com.cloud.view;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.cloud.domain.Users;
import com.cloud.util.MySessionFactory;
public class Test {
public static void main(String[] args) {
deleteUser();
}
//删除一条数据库记录方法
public static void deleteUser(){
Session session=MySessionFactory.getSessionFactory().openSession();
Transaction ts=session.beginTransaction();
Users user=(Users) session.load(Users.class, 7);
session.delete(user);
ts.commit();
session.close();
}
//修改数据库内容信息
public static void updateUser() {
Session session=MySessionFactory.getSessionFactory().openSession();
Transaction ts=session.beginTransaction();
//修改用户,前提获取该用户
Users use=(Users) session.load(Users.class, 3);
//下面的一句话会导致update的使用
use.setName("lukaikai");
ts.commit();
session.close();
}
//向数据库添加一条记录
public static void addUsers() {
//1。该对象用于读取hibernate.cfg.xml,并且初始化
//下面的括号中可以直接放入配置文件路径hibernate.cfg.xml
Configuration configuration=new Configuration().configure();
//2. 创建SessionFactory[一个会话工厂,重量级对象]
SessionFactory sessionFactory=configuration.buildSessionFactory();
//3.创建session
Session session=sessionFactory.openSession();
//4.使用数据库事物
Transaction transaction=session.beginTransaction();
//添加记录
Users users=new Users();
users.setName("zhangsan");
users.setPwd("4321");
users.setEmail("zy@qq.com");
users.setTel("12345");
users.setGrade(1);
//保存,持久化该对象
session.save(users);
transaction.commit();
session.close();
}
}
版权声明:博主原创文章,转载请说明出处。http://blog.csdn.net/dzy21
标签:hibernate
原文地址:http://blog.csdn.net/dzy21/article/details/47703315