SSH demo 简单解析之“增删改”

来源:互联网 发布:c语言从入门到放弃图片 编辑:程序博客网 时间:2024/06/05 02:35


 

 

SSH  demo  简单解析之“增删改”


 

宏观了解SSH:

 


 

 

实体表:

              


    Bean.hbm.xml是给info.java和User.java进行配置,且能自动生成表.用这个就是hibernate对实体表进行封装,对jdb做了轻量级的封装,使得程序的开发可以非常好的用面向对象的思想来操纵数据库。

 

 

 

 

Hibernate有啥好处呢?

    第一:数据库连接不需要我们自己来管理,如打开和关闭


    第二:Hibernate对原来的SQL语句进行了封装,以前写很多SQL语句,现在你在保存的时候直接可以用 SAVE(对象)来实现了。hibernate不需要你手动的去进行代码编写,只需要配置一下cfg.xml文件里的对象就可以了。(节省代码)


    第三:原来是对表操作,现在是和对象继续进行操作,想法上是不是更好呢?面向对象的操作。

 


Hibernate的核心:

       session:负责被持久化对象CRUD操作


      sessionFactory:
负责初始化hibernate,创建session对象


      configuration:
负责配置并启动hibernate,创建SessionFactory


     Transaction:
负责事物相关的操作


     Query
Criteria接口:负责执行各种数据库查询

 


hibernate工作原理:

     1.通过Configuration config = new Configuration().configure();//读取并解析hibernate.cfg.xml配置文件


     2.
hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息


     3.
通过SessionFactory sf = config.buildSessionFactory();//创建SessionFactory


     4.Session session = sf.openSession();//
打开Sesssion


     5.Transaction tx = session.beginTransaction();//
创建并启动事务Transation


     6.persistent operate
操作数据,持久化操作


     7.tx.commit();//
提交事务


     8.
关闭Session


     9.
关闭SesstionFactory

 


开发的步骤:

   1)搭建好环境
        
引入hibernate最小的jar

        准备Hibernate.cfg.xml启动配置文件

    2)写实体类(pojo)

    3)为实体类写映射文件"User.hbm.xml"

        hibernate.cfg.xml添加映射的实体

    4)创建库表

    5)测试

        获得Configuration

        创建SessionFactory

        打开Session

        开启事务

        使用session操作数据

        提交事务

        关闭资源


  

applicationContext.xml?

     DAO,在SSM中是用DAO封装entity,然而在SSH中是用sessionFactory,

 applicationContext.xml配置数据库的连接和容器管理sessionFactory,将service进行管理比如InfoSevice,InfoSeviceImpl;UserService,UserServiceImpl

如下: 

 


 

Hibernate.cfg.xml

 

  

 

Struts.xml

   Struts.xml类似于SSM框架中的springmvc,和action进行对接进行jsp页面的跳转。

 





页面访问显示:

登入页面:

 

进入之后的增删改页面:

 

 

SSH总结:

     Struts作为框架:世间本没有路,走的人多了路就出来了。在系统开发时, 一开始是单体结构,后来为了提高开发效率,有了开发的结构比如MVC,structs最大的优点就是将很多的东西进行了封装成sessionFactory,省去了很多的麻烦,还保证了线程安全。

   用spring 是一个容器:(1)将事物,业务都交给容器去管理,能真正意义上的实现接口编程;(2)用JDNI抽闲层,提供一种清晰、无侵略性的MVC实现方式;(3)Spring非常重要的一点是能使用AOP提供声明性事务管理,可以不直接操作JTA也能够对事务进行管理,省去了更多的麻烦,减少了代码量,提高了开发的效率。

   

    Hibernate进行数据持久化:后面的开发过程中,特别是在数据库方面,用hibernate对DB进行持久化的封装。我们平常做开发的时候经常需要使用到JDBC连接来读写数据库,最常见的就是打开数据库连接、使用复杂的SQL语句进行读写、关闭连接,获得的数据又需要转换或封装后往外传,这是一个非常烦琐的过程。

        

   这时出现了Hibernate框架,(1)Hibernate写好之后,能自动进行表的生成,老牛逼了。(2)Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和App Server没有任何关系,也不存在兼容性问题。

传统的架构与加上Hibernate:
   1) Session Bean <-> Entity Bean <-> DB
为了解决性能障碍的替代架构:
  2) Session Bean <-> DAO <-> JDBC <-> DB
使用Hibernate来提高上面架构的开发效率的架构:
  3) Session Bean <-> DAO <-> Hibernate <-> DB 

源码下载地址:

                             http://pan.baidu.com/s/1i4TnkvN

                



0 0