亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 編程設計 > 正文

實例講解如何利用Hibernate開發Blog

2023-06-11 14:56:27
字體:
來源:轉載
供稿:網友

首先我們需要建立項目(開發工具采用MYECLIPS3.6),導入STRUTS+HIBERNATE包,然后配置SRC跟目錄下的Hibernate.cfg.xml。本文中的示例使用的是MySQL數據庫,詳細的配置如下: 

  <hibernate-configuration>  <session-factory>  <!-- properties -->  <property name="connection.username">  root  </property>  <property name="connection.url">  jdbc:mysql://localhost:3306/tonnyblog  </property>  <property name="dialect">  net.sf.hibernate.dialect.MySQLDialect  </property>  <property name="connection.password"></property>  <property name="connection.driver_class">  org.gjt.mm.mysql.Driver  </property>  <!-- mapping files -->  <mapping resource="com/tonny/blog/bean/User.hbm.xml"/>  <mapping resource="com/tonny/blog/bean/Item.hbm.xml"/>  <mapping resource="com/tonny/blog/bean/Review.hbm.xml"/>  </session-factory></hibernate-configuration>    mapping為JAVABEAN所對應的映射?!   ∠旅嫖覀兝^續HIBERNATE程序的下步編寫:    import net.sf.hibernate.HibernateException;  import net.sf.hibernate.Session;  import net.sf.hibernate.SessionFactory;  import net.sf.hibernate.cfg.Configuration;  /** * Description of the Class * *  @author  tonny * @created  2004年2月6日  */public class HibernateUtil  {  private final static SessionFactory sessionFactory;  static  {  try  {  sessionFactory =  new Configuration().configure().buildSessionFactory();  }  catch (HibernateException ex)  {  throw new RuntimeException(  "Exception building SessionFactory:  " + ex.getMessage(),ex);  }  }  private HibernateUtil(){  }  /**   * Description of the Field  */  private final static ThreadLocal  session = new ThreadLocal();  /**   * Description of the Method  *   * @return  Description of the Return Value   *  @exception HibernateException  Description of the Exception   */  public static Session currentSession()  throws HibernateException  {  Session s = (Session) session.get();  if (s == null)  {  s = sessionFactory.openSession();  session.set(s);  }    return s;  }  /**   * Description of the Method  *   * @exception HibernateException  Description of the Exception   */  public static void closeSession()  throws HibernateException {  Session s = (Session) session.get();  session.set(null);  if (s != null)  {  s.close();  }  }  public static void init()  {  }  }    創建sessionFactory    import net.sf.hibernate.HibernateException;  import net.sf.hibernate.SessionFactory;  import net.sf.hibernate.cfg.Configuration;  import org.apache.struts.action.ActionServlet;  import org.apache.struts.action.PlugIn;  import org.apache.struts.config.ModuleConfig;  import com.tonny.blog.dao.hibernate.HibernateUtil;  public class HibernatePlugin  implements org.apache.struts.action.PlugIn  {  public void init(ActionServlet servlet,  ModuleConfig config)  {  HibernateUtil.init();  }  public void destroy()  {  try  {  HibernateUtil.closeSession();  }  catch(HibernateException hex)  {  hex.printStackTrace();  }  }  }    以上為HIBERNATE基本配置,對數據庫操作采用DAO模式,增加配置如下:    import com.tonny.blog.dao.hibernate.*;  public class DAOFactory  {  private static DAOFactory instance;  public synchronized static DAOFactory getInstance()  {  if  (instance == null)  {  instance = new DAOFactory();  }  return instance;  }  private DAOFactory()  {  }  public ItemDAO getItemDAO()  {  return new ItemDAOHibernate();  }  public ReviewDAO getReviewDAO()  {  return new ReviewDAOHibernate();  }  public UserDAO getUserDAO()  {  return new UserDAOHibernate();  }  }    struts.xml增加配置:    <controller contentType="text/html"  debug="3" locale="true"  nocache="true"  processorClass=  "com.tonny.blog.struts.controller.IndexRequestProcessor"/>  <message-resources parameter="com.tonny.resource"/>  <plug-in className=  "com.tonny.blog.struts.plugin.HibernatePlugin"/>  <plug-in className="org.apache.struts.tiles.TilesPlugin">  <set-property property="moduleAware" value="true"/>  <set-property property="definitions-debug" value="0"/>  <set-property property="definitions-parser-details"  value="0"/>  <set-property property="definitions-parser-validate"  value="false"/>  <set-property property="definitions-config"  value="/WEB-INF/title-def.xml"/>  </plug-in>    下面我們定義服務層:    public class ServiceFactory  {  private static ServiceFactory instance;  public synchronized static ServiceFactory getInstance()  {  if (instance == null)  {  instance = new ServiceFactory();  }  return instance;  }  private ServiceFactory()  {  }  public  IService getService()  {  return new ServiceImp();  }  }    import com.tonny.blog.struts.form.*;  import com.tonny.blog.view.*;  import com.tonny.blog.bean.*;  import java.util.*;  import javax.servlet.http.*;  public interface IService  {  public UserContainer login(UserForm userForm);  public boolean logout(UserContainer userContainer);  public boolean addBlog(BlogForm blogForm,String filePath);  public boolean removeBlog(Long id);  public boolean addReview(Long topicId,ReviewForm reviewForm);  public boolean updateBlog(Long id,String conten,String topic);  public boolean removeReview(Long id);  public List getItems();  public ItemView getItem(Long id);  public ItemView getEditItem(Long id);  public List search(SearchForm searchForm);  /**   * @param id   * @param userForm   */  public boolean addUser(UserForm userForm);  }    import com.tonny.blog.struts.form.*;  import com.tonny.blog.view.*;  import com.tonny.blog.dao.*;  import com.tonny.blog.bean.*;  import java.util.*;import javax.servlet.http.*;  import com.tonny.blog.struts.util.FileUpload;  public class ServiceImp implements IService  {  public UserContainer login(UserForm userForm)  {  UserDAO userDAO=DAOFactory.getInstance().getUserDAO();  User user=userDAO.loadUser(userForm.getName());  if(user==null)return new UserContainer("",false);  if(!user.getPassword().equals(userForm.getPassword()))  return new UserContainer("",false);  return new UserContainer(userForm.getName(),true);  }  public boolean logout(UserContainer userContainer)  {  userContainer.setLogin(false);  userContainer.setName("");  return true;  }  public boolean addBlog(BlogForm blogForm,String path)  {  ItemDAO itemDAO=DAOFactory.getInstance().getItemDAO();  Item item=new Item(blogForm.getTopic(),  blogForm.getContent(),  FileUpload.upload(blogForm.getFile(),path),new Date());  itemDAO.addItem(item);  return true;  }  public boolean removeBlog(Long id)  {  ReviewDAO reviewDAO=DAOFactory.getInstance(
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久女人电视剧免费播放下载| 国产精品欧美激情在线播放| 国产精品三级久久久久久电影| 国产有码在线一区二区视频| 日本久久久久久久久久久| 91精品久久久久久久久久入口| 91精品在线观看视频| 日韩欧美在线观看| 色悠悠久久久久| 久久久久国色av免费观看性色| 日韩亚洲一区二区| 国产精品日韩久久久久| 日韩av在线免费播放| 欧美一级高清免费播放| 亚洲国产私拍精品国模在线观看| 日韩av色在线| 最近2019中文字幕mv免费看| 亚洲精品电影网站| 亚洲精品国产精品久久清纯直播| 午夜精品福利电影| 日韩精品亚洲视频| 久久天天躁狠狠躁夜夜躁2014| 午夜免费在线观看精品视频| 中文字幕视频一区二区在线有码| 欧美香蕉大胸在线视频观看| 97在线看免费观看视频在线观看| 在线看福利67194| 影音先锋欧美精品| 亚洲午夜未满十八勿入免费观看全集| 4444欧美成人kkkk| 亚洲欧洲高清在线| 亚洲国产精品女人久久久| 欧美一级大胆视频| 亚洲精品久久久一区二区三区| 日韩大片在线观看视频| 国产精品爱久久久久久久| 国产视频欧美视频| 日韩中文字幕国产精品| 中文字幕日韩精品有码视频| 亚洲第一二三四五区| 中文字幕无线精品亚洲乱码一区| 亚洲伦理中文字幕| 久久久国产一区| 中文字幕亚洲专区| 91久久久久久久久久久久久| 国产日韩在线亚洲字幕中文| 亚洲国产天堂网精品网站| 日韩av在线播放资源| 色综合视频一区中文字幕| 国产91色在线|免| 欧美日韩精品在线视频| 日韩一中文字幕| 欧美精品一本久久男人的天堂| 色偷偷偷综合中文字幕;dd| 成人在线视频福利| 这里只有视频精品| 亚洲tv在线观看| 色视频www在线播放国产成人| 91日本在线视频| 亚洲欧美日韩中文在线制服| 欧美巨猛xxxx猛交黑人97人| 久久偷看各类女兵18女厕嘘嘘| 国产视频精品一区二区三区| 韩国福利视频一区| 91精品国产高清自在线看超| 国产成人精品一区| 欧美激情在线播放| 亚洲影院色无极综合| 国产精品福利无圣光在线一区| 九九热这里只有在线精品视| 综合久久五月天| 久热精品视频在线观看一区| 欧美性黄网官网| 日本高清视频一区| 777国产偷窥盗摄精品视频| 久久综合久久88| 欧美国产中文字幕| 亚洲欧美制服丝袜| 亚洲一区国产精品| 日韩精品在线观看一区| 日韩电影在线观看永久视频免费网站| 欧美日韩成人在线观看| www.欧美视频| 国产精品福利在线观看| 69久久夜色精品国产69| 中文字幕免费精品一区| 国产亚洲精品久久久久久| 国产69久久精品成人看| 自拍偷拍免费精品| 最近2019年日本中文免费字幕| 91美女片黄在线观| 久久久久久久久中文字幕| 国产精品亚洲一区二区三区| 最近的2019中文字幕免费一页| 国产精品视频地址| 国产成人avxxxxx在线看| 欧美一区二粉嫩精品国产一线天| 91精品久久久久久久久久| 日韩欧美成人区| 亚洲精品视频在线观看视频| 国产日韩亚洲欧美| 欧美视频在线看| 亚洲第一级黄色片| 92版电视剧仙鹤神针在线观看| 国产午夜精品全部视频播放| 国内精品久久久久久| 国产亚洲精品日韩| 欧美精品在线视频观看| 亚洲久久久久久久久久| 九九精品在线观看| 亚洲福利在线视频| 91免费观看网站| 亚洲日韩中文字幕在线播放| 国内精品国产三级国产在线专| 美女福利精品视频| 欧美日韩性生活视频| 中文字幕亚洲一区在线观看| 国内伊人久久久久久网站视频| 久色乳综合思思在线视频| 久精品免费视频| 亚洲热线99精品视频| 欧美久久精品午夜青青大伊人| 久久久久久久久久av| 精品福利在线观看| 国产精品视频导航| 亚洲精品日韩久久久| 久久av.com| 亚洲第一精品夜夜躁人人爽| 亚洲美女在线看| 日韩动漫免费观看电视剧高清| 久久人91精品久久久久久不卡| 亚洲影院在线看| 午夜欧美不卡精品aaaaa| 日韩高清有码在线| 亚洲a在线观看| 亚洲高清在线观看| 日韩精品视频免费| 日韩乱码在线视频| 国产精品亚发布| 精品成人在线视频| 日韩av电影在线免费播放| 国产男女猛烈无遮挡91| 日韩最新免费不卡| 97香蕉久久夜色精品国产| 欧美主播福利视频| 久久久久久久久亚洲| 伦伦影院午夜日韩欧美限制| 国产精品扒开腿做爽爽爽的视频| 久久青草福利网站| 久久久久这里只有精品| 亚洲人成在线观看| 日韩精品免费视频| 欧美国产日韩二区| 日本国产欧美一区二区三区| 国产精品久久久av| 亚洲综合在线中文字幕| 96pao国产成视频永久免费| 欧美夫妻性视频| 中文字幕国产亚洲| 午夜精品福利电影| 欧美中文在线字幕| 亚洲最大在线视频| 国产精品成人在线| 成人a免费视频|