首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

异常分析

2012-10-07 
错误分析? 错误代码如下,public RegisterRequest deleteOneById(long id) {RegisterRequest rr nullSes

错误分析

? 错误代码如下,

public RegisterRequest deleteOneById(long id) {        RegisterRequest rr = null;        Session session = HibernateUtil.getSessionFactory().openSession();        Transaction transaction = null;        try {            transaction = session.beginTransaction();            String hql = "from RegisterRequest as r" + "  where r.id = :id";            Query query = session.createQuery(hql);            query.setLong("id", id);            rr = (RegisterRequest) query.setMaxResults(1).uniqueResult();            session.delete(rr);            transaction.commit();        } catch (Exception e) {            e.printStackTrace();            if (transaction != null) {                transaction.rollback();            }        } finally {            session.close();        }        return rr;    }   public static void main(String[] args) {        IRegisterRequestDAO rr = new RegisterRequestDAO();        //  RegisterRequest reg = new RegisterRequest();////        reg.setEmail("liyuanyuan0312@126.com");////        reg.setPassword("lyy313152");////        reg.setMinghao("wow");////        reg.setRequestTime(new Date().getTime());////        reg.setRequestIp("127.0.0.1");////        rr.createOne(reg);        // rr.deleteOneById(5L);        System.out.print(rr.readOneById(1L).getEmail());    } 
?

?

对照如下正规写法,

?

 public boolean deleteOneById(long id) {        boolean boo = false;        User user = new User();        user = this.readOneById(id);        Session session = HibernateUtil.getSessionFactory().openSession();        Transaction transaction = null;        try {            transaction = session.beginTransaction();            session.delete(user);            transaction.commit();            boo = true;        } catch (Exception e) {            e.printStackTrace();            if (transaction != null) {                transaction.rollback();                boo = false;            }        } finally {            session.close();        }        return boo;    }

?除了读取一个用户用User类型,其他都用boolean.例如, public User readOneById(long id)。

?

编译好的完整代码如下,并经过测试通过^^

/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.kakatao.www.dao.impl.hibernate;import com.kakatao.www.dao.IUserDAO;import com.kakatao.www.model.User;import java.util.Iterator;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;/** * * @author rebecca */public class UserDAO implements IUserDAO {    public boolean createOne(User user) {        boolean boo = false;        Session session = HibernateUtil.getSessionFactory().openSession();        Transaction transaction = null;        try {            transaction = session.beginTransaction();            session.save(user);            transaction.commit();            boo = true;        } catch (Exception e) {            e.printStackTrace();            if (transaction != null) {                transaction.rollback();                boo = false;            }        } finally {            session.close();        }        return boo;    }    public User readOneById(long id) {        User user = null;        Session session = HibernateUtil.getSessionFactory().openSession();        Transaction transaction = null;        try {            transaction = session.beginTransaction();            String hql = "from User as r" + "  where r.id = :id";            Query query = session.createQuery(hql);            query.setLong("id", id);            user = (User) query.setMaxResults(1).uniqueResult();            transaction.commit();        } catch (Exception e) {            e.printStackTrace();            if (transaction != null) {                transaction.rollback();            }        } finally {            session.close();        }        return user;    }    public boolean deleteOneById(long id) {        boolean boo = false;        User user = new User();        user = this.readOneById(id);        Session session = HibernateUtil.getSessionFactory().openSession();        Transaction transaction = null;        try {            transaction = session.beginTransaction();            session.delete(user);            transaction.commit();            boo = true;        } catch (Exception e) {            e.printStackTrace();            if (transaction != null) {                transaction.rollback();                boo = false;            }        } finally {            session.close();        }        return boo;    }    public List searchInListByHql(String hql) {        List list = null;        Session session = HibernateUtil.getSessionFactory().openSession();        Transaction transaction = null;        try {            transaction = session.beginTransaction();            Query query = session.createQuery(hql);            list = query.list();            transaction.commit();        } catch (Exception e) {            e.printStackTrace();            if (transaction != null) {                transaction.rollback();            }        } finally {            session.close();        }        return list;    }    public static void main(String[] args) {        IUserDAO userdao = new UserDAO();        User user = new User();//        user.setEmail("liyuanyuan0312@126.com");////        user.setPassword("lyy313152");////        user.setMinghao("wow");////        user.setQmd("心有多大,舞台就有多大");////        user.setUsername("卡卡淘");////        user.setPhoto("/l0098/photos/1.jpg");////        user.setAddress("handan");////        user.setBlogAddress("/kakatao/aticles/one01");////        user.setAboutMe("自我介绍");////        user.setPp("yes");////        userdao.createOne(user);        // userdao.deleteOneById(3L);        List list = userdao.searchInListByHql("from User where address = 'handan'");        for(int i = 0; i< list.size(); i ++)        {            System.out.println(((User)list.get(i)).getId());        }     //   System.out.print(userdao.readOneById(1L).getEmail());    }}

热点排行