偷偷的记录一下今天的东东

今天,我用mysql和myeclipse稍微搞了一下学校工会的网站,无意间发现,公司大神的思想在潜移默化的影响着我,让我有点激动,哈哈.首先感受到了大神的id和cmd闯遍天下无敌手.以前的Action实现一个逻辑,现在也可以稍微的复杂一点点了.哈哈~

其次,用了一个vpn访问学校服务器,然后部署了一下工会小项目,但是mysql上面在部署的时候出现乱码,但是,但是,又是凭借在公司学到的东西,修改编码方式,最后成功,哈哈,高兴高兴!这个过程还用到了小chy告诉我的mysqldump方法导出数据库的sql方式文件,嘟嘟.

之后,整理第二个小项目,alumnus system.这个因为涉及到的数据太多,所以必须考虑分页时不能将数据全部加载到内存吧,所以,查到了用hibernate提供的分页技术.据小xion说,用limit方法可以的,不过,不知道会不会有点慢,不过,后来想到了公司大神的一句话,"没事,可以加索引,不慢的".所以,小xion说的也有道理,嘻嘻~

最后,整个过程整理了一下hibernate(当然也有struts)的整个配置流程和文件的关系.首先生成的HibernateSessionFactory是一个session工厂,可以生产session,一个数据库对应一个sessionfactory.这个类里面配置了xml文件将数据库加载进去吧...然后应该实现获取session的接口,一般定义一个BaseHibernateDAO,里面定义一个getSession()方法,这样将业务和数据可以分离开.最后再定义XxxDAO.java,当然要继承BaseHibernateDAO,进而直接调用getSession()开启会话.而对于业务逻辑来说,在action里面写就好了.

整理一下子hibernate的分页要点呗:(这个是因为数据量大,将近4w条吧)

public static List getAll(){ Criteria criteria = getSession().createCriteria(Alumnus.class); // criteria.setFirstResult((currentPage-1)*rawPrepage);//设置开始位置 criteria.setFirstResult(0);//设置开始位置 // criteria.setMaxResults(rawPrepage);//设置每页数据条目 criteria.setMaxResults(10);//设置每页数据条目 return criteria.list(); }


还有另外一种方法是比较简单的,工会的分页是这样实现的:(主要程序)

public List findByProperty(String propertyname,Object value,int from,int num) throws Exception { try { SessionFactory sf = new Configuration().configure() .buildSessionFactory(); Session s = sf.openSession(); String queryString = "from News as model where model." +propertyname+"=?"; Query queryObject = s.createQuery(queryString); queryObject.setFirstResult(from); //从第几条开始 queryObject.setMaxResults(num); //获取多少条 queryObject.setParameter(0, value); List list = queryObject.list(); s.close(); return list; } catch (Exception e) { e.printStackTrace(); throw e; } }

对于大量数据的查询,好像第一种情况好.

最后,记录一下那位伟大的思想家chyxion告诉我们的一些事情:

一般情况下,持久化类和DAO是分开来的,也就是说,数据和逻辑是分开的,但是,如果,人家是说如果,自己的习惯哈,如果这个类呢,比较简单的情况下,不妨试试养成这样的习惯:

User.get(1),User.delete(1)...也就是说,在User这个持久化类中,定义一些static方法,直接供逻辑实现时候调用的,这样一来,只要自己明白就清楚很多啦,哈哈.不知道有没有表达清楚,反正我懂.

当然,工会小系统使用的是这种高级方法,但是alumnus system没有用,因为字段太多,持久化类很大了,不方便再在里面写了,所以,再分开好了.

小鬼说spring不错.待看...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值