hibernate中的简单应用

来源:互联网 发布:闪迪数据恢复软件 编辑:程序博客网 时间:2024/05/09 14:16

mport net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
import java.util.List;
import com.hygj.bean.Users;
public class HibernateUtil {
//定义私有变量cfg用来捕获hibernate.cfg.xml配制文件
private net.sf.hibernate.cfg.Configuration cfg=null;
//定义变量sf用来管理连接
private net.sf.hibernate.SessionFactory sf=null;
//定义session用来实现具体的操作
private net.sf.hibernate.Session session=null;
//管理一个用户的多种操作,进行事物的管理
private net.sf.hibernate.Transaction tr=null;

public HibernateUtil() {
try {
cfg = new net.sf.hibernate.cfg.Configuration().configure();
sf=cfg.buildSessionFactory();
}
catch (HibernateException ex) {
}
}


//全部查询
public void chaxun(){
System.out.println("----chaxun----");
//产生回话
try {
this.sessions = this.sff.openSession();
session = sf.openSession();
//开始事务
this.trs = this.sessions.beginTransaction();
tr=session.beginTransaction();
//生成查询
net.sf.hibernate.Query query=session.createQuery("from Users");
//获得结果集
List list=query.list();
java.util.Iterator it=list.iterator();
while(it.hasNext()){
Users user=(Users)it.next();
System.out.println("id:"+user.getId());
System.out.println("name:"+user.getUsername());
System.out.println("password:"+user.getPassword());
System.out.println("--------");
}
//执行完成,提交事务
tr.commit();
}
catch (HibernateException ex) {
}
finally{
try {
session.close();
}
catch (HibernateException ex1) {
}
}
}

//根据编号查询
public void chaxun(int id){
try {
session = sf.openSession();
tr=session.beginTransaction();
//产生查询,需要根据id进行查询
net.sf.hibernate.Query query=session.createQuery("from Users where id=?");
// net.sf.hibernate.Query que=session.createQuery("from Users where id=:id");
//先为参数赋值,再查询
query.setInteger(0,id);
//que.setInteger("id",id);
//List list=que.list();
List list=query.list();
//进行空对象验证
if(list.size()>0){
Users user=(Users)list.get(0);
System.out.println("id:"+user.getId());
System.out.println("name:"+user.getUsername());
System.out.println("password:"+user.getPassword());
System.out.println("--------");

}
else{
System.out.println("no record");
}
tr.commit();
}
catch (HibernateException ex) {
}
finally{
try {
session.close();
}
catch (HibernateException ex1) {
}
}

}

//模糊查询
public void chaxun(String name){
try {
session = sf.openSession();
tr=session.beginTransaction();
//产生查询,需要根据id进行查询
net.sf.hibernate.Query query=session.createQuery("from Users where username like ?");
// net.sf.hibernate.Query que=session.createQuery("from Users where id=:id");
//先为参数赋值,再查询
String str="%"+name+"%";
query.setString(0,str);
//que.setInteger("id",id);
//List list=que.list();
List list=query.list();
//进行空对象验证
if(list.size()>0){
for(int i=0;i<list.size();i++){
Users user=(Users)list.get(i);
System.out.println("id:"+user.getId());
System.out.println("name:"+user.getUsername());
System.out.println("password:"+user.getPassword());
System.out.println("--------");
}

}
else{
System.out.println("no record");
}
tr.commit();
}
catch (HibernateException ex) {
}
finally{
try {
session.close();
}
catch (HibernateException ex1) {
}
}


}

//添加数据
public void add(String name,String pwd){
try {
session = sf.openSession();
tr=session.beginTransaction();
//实例化新的bean 类
Users user=new Users();
//为bean赋值
user.setUsername(name);
user.setPassword(pwd);
//保存提交
session.save(user);
tr.commit();
}
catch (HibernateException ex) {
}
finally{
try {
session.close();
}
catch (HibernateException ex1) {
}
}

}

//修改数据
public void update(int id,String pwd){
try {
session = sf.openSession();
tr=session.beginTransaction();
//先定位数据
net.sf.hibernate.Query query=session.createQuery("from Users where id=?");
query.setInteger(0,id);
List list=query.list();
if(list.size()>0){
Users user=(Users)list.get(0);
//该密码
user.setPassword(pwd);
//保存回去
session.update(user);
session.flush();
tr.commit();
System.out.println("update ok");
}
else{
System.out.println("no record can be updated");
}
}
catch (HibernateException ex) {
}
finally{
try {
session.close();
}
catch (HibernateException ex1) {
}
}


}


//删除数据
public void delete(int id){
try {
session = sf.openSession();
tr=session.beginTransaction();
//先定位数据
net.sf.hibernate.Query query=session.createQuery("from Users where id=?");
query.setInteger(0,id);
List list=query.list();
if(list.size()>0){
Users user=(Users)list.get(0);
//删除数据
session.delete(user);
session.flush();
tr.commit();
System.out.println("delete ok");
}
else{
System.out.println("no record can be deleted");
}
}
catch (HibernateException ex) {
}
finally{
try {
session.close();
}
catch (HibernateException ex1) {
}
}


}

public static void main(String[] args) {
HibernateUtil hibernateUtil1 = new HibernateUtil();
//hibernateUtil1.add("subin","123456");
//hibernateUtil1.chaxun(3);
//hibernateUtil1.update(3,"9876543");
//hibernateUtil1.chaxun(3);
hibernateUtil1.delete(4);
}

}

连接操作在配置文件hibernate.cfg.xml中完成

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
" http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="dialect">
net.sf.hibernate.dialect.SQLServerDialect
</property>
<property name="show_sql">true</property>
<property name="connection.driver_class">
com.microsoft.jdbc.sqlserver.SQLServerDriver
</property>
<property name="connection.url">
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs;
</property>
<property name="connection.username">
sa
</property>
<property name="connection.password">

</property>

<mapping resource="com/hygj/bean/Users.hbm.xml" />
</session-factory>
</hibernate-configuration>

原创粉丝点击