Hibernate 框架基本的数据库增删改查操作

 代码:

hibernate.cfg.xml(Hibernate与数据库连接操作的文档)





	true
	bookshop
	
		jdbc:mysql://localhost:3306/bookshop
	
	root
	1234
	
		com.mysql.jdbc.Driver
	
	
		org.hibernate.dialect.MySQLDialect
	
	



Users.java

package com.hibtest1.entity;

import java.io.Serializable;

public class Users implements Serializable {
	private Integer id;         //编号
	private String loginName;   //用户名
	private String loginPwd;    //密码
	//默认构造方法
	public Users() {		
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getLoginName() {
		return loginName;
	}
	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}
	public String getLoginPwd() {
		return loginPwd;
	}
	public void setLoginPwd(String loginPwd) {
		this.loginPwd = loginPwd;
	}
	
}

Users.hbm.xml





     
     
         
         
     
     
         
     
     
         
     
 


TestAdd.java(添加用户)

package com.hibtest1;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.hibtest1.entity.Users;

public class TestAdd {
	public static void main(String[] args) {
		new TestAdd().addUser();
	}	
	private void addUser(){
		//建立持久化对象
		Users user=new Users();
		user.setLoginName("Haige");
		user.setLoginPwd("123456");
		//1.初始化,读取配置文件hibernate.cfg.xml
		Configuration config=new Configuration().configure();
		//2.读取并解析映射文件(Users.hbm.xml),创建sessionFactory
		SessionFactory sessionFactory=config.buildSessionFactory();
		//3.打开session
		Session session=sessionFactory.openSession();
		Transaction tx=null;
		try {			
			tx=session.beginTransaction();    //4.开始一个事务			
			session.save(user);		 //5.持久化操作	
			tx.commit();    //6.提交事务
		} catch (Exception e) {
			if(tx!=null){
				tx.rollback();  //事务回滚																			
			}	
			e.printStackTrace();
		}finally{
			session.close();   //7.关闭session
		}		
	}
}


截图:

Hibernate 框架基本的数据库增删改查操作_第1张图片

 TestDelete.java(删除用户)

package com.hibtest1;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.hibtest1.entity.Users;

public class TestDelete {
	public static void main(String[] args) {
		new TestDelete().testDelete();
	}
	private void testDelete(){
		//初始化,读取配置文件hibernate.cfg.xml
		Configuration config=new Configuration().configure();
		//读取并解析映射文件(Users.hbm.xml),创建sessionFactory
		SessionFactory sessionFactory=config.buildSessionFactory();
		//打开session
		Session session=sessionFactory.openSession();
		Transaction tx=null;
		//加载要删除的数据
		Users user=(Users)session.get(Users.class, new Integer(1));
		try {
			tx=session.beginTransaction();    //开始一个事务			
			session.delete(user);             //执行删除	
			tx.commit();                      //提交事务
		} catch (Exception e) {
			if(tx!=null){
				tx.rollback();       //事务回滚				
			}
			e.printStackTrace();
		}finally{
			session.close();   //关闭session
		}	
		
	}

}

截图:

Hibernate 框架基本的数据库增删改查操作_第2张图片

TestLoad(控制台输出用户数据)

package com.hibtest1;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

import com.hibtest1.entity.Users;

public class TestLoad {
	public static void main(String[] args) {
		new TestLoad().testLoad();
	}
	
	private void testLoad(){
		//1.初始化,读取配置文件hibernate.cfg.xml
		Configuration config=new Configuration().configure();
		//2.读取并解析映射文件(Users.hbm.xml),创建sessionFactory
		SessionFactory sessionFactory=config.buildSessionFactory();
		//3.打开session
		Session session=sessionFactory.openSession();
		//4.加载数据
		Users user=(Users)session.get(Users.class, new Integer(1));
		//在控制台输出用户名和密码
		System.out.println(user.getLoginName()+" "+user.getLoginPwd());
	}

}

截图:


TestUpdate.java(修改用户数据)

package com.hibtest1;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.hibtest1.entity.Users;

public class TestUpdate {
	public static void main(String[] args) {
		new TestUpdate().testUpdate();
	}
	private void testUpdate(){
		//初始化,读取配置文件hibernate.cfg.xml
		Configuration config=new Configuration().configure();
		//读取并解析映射文件(Users.hbm.xml),创建sessionFactory
		SessionFactory sessionFactory=config.buildSessionFactory();
		//打开session
		Session session=sessionFactory.openSession();
		Transaction tx=null;
		//加载要修改的数据
		Users user=(Users)session.get(Users.class, new Integer(2));
		//修改数据
		user.setLoginName("popopo");
		try {
			tx=session.beginTransaction();    //开始一个事务			
			session.update(user);             //执行更新
			tx.commit();                      //提交事务
		} catch (Exception e) {
			if(tx!=null){
				tx.rollback();       //事务回滚				
			}
			e.printStackTrace();
		}finally{
			session.close();   //关闭session
		}
	}

}


总结:Hibernate框架基本的数据库操作,其较JDBC更简洁更方便,大大减少了代码量,把对数据库表的操作变成对用户对象的操作。

你可能感兴趣的:(Hibernate,框架学习笔记)