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

首頁 > 學院 > 開發設計 > 正文

怎樣利用Hibernate開發Blog實例分析

2019-11-18 12:56:41
字體:
來源:轉載
供稿:網友

  開發工具采用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热精品视频| 精品国产乱码久久久久久婷婷| 亚洲视频电影图片偷拍一区| 欧美日韩成人在线观看| 亚洲综合中文字幕在线观看| 欧美性20hd另类| 久久久久久久影视| 国产日韩欧美在线视频观看| 中文字幕日韩在线观看| 久久久久久尹人网香蕉| 91青草视频久久| 一区二区成人av| 日韩亚洲精品电影| 日韩欧美亚洲国产一区| 精品中文字幕视频| 亚洲天堂色网站| 51视频国产精品一区二区| 亚洲激情视频在线播放| 97视频在线观看免费| 精品久久久久久久久国产字幕| 亚洲免费av片| 亚洲精品久久7777777| 久色乳综合思思在线视频| 久久久久亚洲精品成人网小说| 国产99视频在线观看| 欧美插天视频在线播放| 欧美日韩国产专区| 69国产精品成人在线播放| 欧美最猛性xxxxx亚洲精品| 美女啪啪无遮挡免费久久网站| 97色在线播放视频| 亚洲一区二区福利| 美女扒开尿口让男人操亚洲视频网站| 国产精品一二区| 久久精品91久久久久久再现| 久久成年人视频| 亚洲伊人久久大香线蕉av| 亚洲精品电影在线观看| 欧美丰满少妇xxxx| 国产精品一区二区久久久久| 亚洲第一区中文字幕| 91精品久久久久久久久久| 欧洲成人性视频| 懂色aⅴ精品一区二区三区蜜月| 影音先锋日韩有码| 欧美巨猛xxxx猛交黑人97人| 亚洲精品视频免费在线观看| 国模gogo一区二区大胆私拍| 高清日韩电视剧大全免费播放在线观看| 成人国产在线激情| 欧美亚洲成人免费| 亚州国产精品久久久| 亚洲aⅴ日韩av电影在线观看| 欧洲s码亚洲m码精品一区| 国产视频福利一区| 亚洲人成电影在线| 亚洲电影第1页| 亚洲福利在线看| 欧美激情一区二区三区在线视频观看| 久久精品成人一区二区三区| 欧美性精品220| 神马国产精品影院av| 久久香蕉国产线看观看网| 欧美又大粗又爽又黄大片视频| 色综合久久久久久中文网| 欧洲精品在线视频| 日韩精品在线观看视频| 精品国产老师黑色丝袜高跟鞋| 精品国产乱码久久久久久婷婷| 国产成人黄色av| 国产精品久久久久久中文字| 亚洲精品美女在线观看播放| 精品日韩美女的视频高清| 亚洲国产精品久久久| 亚洲欧美国产日韩天堂区| 国产亚洲精品久久久| 国产精品国产亚洲伊人久久| 日韩精品亚洲元码| 欧美放荡办公室videos4k| 欧美有码在线观看| 亚洲一区二区三区香蕉| 亚洲国产精品va| 在线成人免费网站| 日韩一区在线视频| 蜜臀久久99精品久久久久久宅男| 欧美成人精品一区二区三区| 欧美一乱一性一交一视频| 欧美电影在线观看高清| 亚洲精品97久久| 国产美女精品视频免费观看| 亚洲最大成人免费视频| 国产精品一区二区三区免费视频| 亚洲国产日韩欧美在线99| 亚洲成人激情在线| 国产香蕉精品视频一区二区三区| 国产一区二区在线播放| 久久久视频免费观看| 97婷婷涩涩精品一区| 欧美高跟鞋交xxxxxhd| 亚洲最大在线视频| 日韩欧美高清视频| 日韩在线观看视频免费| 国产精品a久久久久久| 中文字幕日韩av综合精品| 欧美在线xxx| 亚洲国产精品资源| 国产精品女主播视频| 国产成人精品在线播放| 国产一区欧美二区三区| 有码中文亚洲精品| 国产精品成人久久久久| 91免费国产网站| 国产综合久久久久久| 91成人在线视频| 日韩av影视在线| 精品久久久久久国产| 日韩久久免费视频| 久久精品91久久久久久再现| 热99精品里视频精品| www.日韩视频| 午夜精品久久久久久久久久久久| 成人激情视频免费在线| 综合激情国产一区| 国产精品精品久久久| 欧美性受xxxx白人性爽| 国产视频综合在线| 亚洲欧美在线一区二区| 久久久999精品免费| 欧美一区二区三区……| 国产成人精品一区| 日韩成人在线免费观看| 亚洲女人天堂色在线7777| www.日韩免费| 久久久国产一区二区三区| 正在播放亚洲1区| 国产中文字幕91| 亚洲第一精品夜夜躁人人躁| 欧美日韩电影在线观看| 日韩一级裸体免费视频| 在线观看欧美日韩国产| 97国产精品视频人人做人人爱| 亚洲国产另类久久精品| 亚洲网站视频福利| 国产精品一区二区3区| 亚洲自拍偷拍色片视频| 国产精品91久久| 欧美激情中文字幕在线| 这里只有精品在线观看| 欧美午夜影院在线视频| 热re91久久精品国99热蜜臀| 亚洲国产精品成人精品| 亚洲区免费影片| 欧美日韩aaaa| www欧美日韩| 亚洲精品不卡在线| 尤物九九久久国产精品的分类| 日韩电影大片中文字幕| 欧美xxxwww| 国产精品女主播视频| 亚洲欧美日韩成人| 亚洲国产另类 国产精品国产免费| 中文在线资源观看视频网站免费不卡| 亚洲美女中文字幕|