编码过滤器+简单的批量添加(hibernate)

在web.xml中,添加

Code:
  1. <!--过滤器-->
  2. <filter>
  3. <filter-name>CharacterEncodingFilter</filter-name>
  4. <filter-class>com.sb.CharacterEncodingFilter</filter-class>
  5. <init-param>
  6. <param-name>encoding</param-name>
  7. <param-value>utf-8</param-value>
  8. </init-param>
  9. </filter>
  10. <filter-mapping>
  11. <filter-name>CharacterEncodingFilter</filter-name>
  12. <url-pattern>/*</url-pattern>
  13. <dispatcher>REQUEST</dispatcher>
  14. <dispatcher>FORWARD</dispatcher>
  15. </filter-mapping>

对应的servlet代码:

Code:
  1. packagecom.sb;
  2. importjava.io.IOException;
  3. importjavax.servlet.Filter;
  4. importjavax.servlet.FilterChain;
  5. importjavax.servlet.FilterConfig;
  6. importjavax.servlet.ServletException;
  7. importjavax.servlet.ServletRequest;
  8. importjavax.servlet.ServletResponse;
  9. /**
  10. *字符编码过滤器
  11. *@authorcyy
  12. */
  13. publicclassCharacterEncodingFilterimplementsFilter{
  14. protectedStringencoding=null;
  15. protectedFilterConfigfilterConfig=null;
  16. publicvoidinit(FilterConfigfilterConfig)throwsServletException{
  17. this.filterConfig=filterConfig;
  18. this.encoding=filterConfig.getInitParameter("encoding");
  19. }
  20. publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{
  21. if(encoding!=null){
  22. request.setCharacterEncoding(encoding);
  23. response.setContentType("text/html;charset="+encoding);
  24. }
  25. chain.doFilter(request,response);
  26. }
  27. publicvoiddestroy(){
  28. this.encoding=null;
  29. this.filterConfig=null;
  30. }
  31. }

批量添加:

Code:
  1. publicvoidsaveMedicines(List<Medicine>ms){
  2. Sessionsession=null;
  3. if(ms!=null&&ms.size()>0){
  4. try{
  5. session=HibernateUtil.getSession();//获取Session
  6. session.beginTransaction();//开启事物
  7. Medicinemedicine=null;//创建药品对象
  8. //循环获取药品对象
  9. for(inti=0;i<ms.size();i++){
  10. medicine=(Medicine)ms.get(i);//获取药品
  11. session.save(medicine);//保存药品对象
  12. //批插入的对象立即写入数据库并释放内存
  13. if(i%10==0){
  14. session.flush(); //其他的,也没什么了。
  15. session.clear();
  16. }
  17. }
  18. session.getTransaction().commit();//提交事物
  19. }catch(Exceptione){
  20. e.printStackTrace();//打印错误信息
  21. session.getTransaction().rollback();//出错将回滚事物
  22. }finally{
  23. HibernateUtil.closeSession(session);//关闭Session
  24. }
  25. }
  26. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值