hibernate增加,删除,修改,查找操作

    技术2022-05-11  3

    //引入导入的hibernate包import 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>


    最新回复(0)