zoukankan      html  css  js  c++  java
  • Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建

    Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建


    用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service层,Model层,建立Controller对数据库操作的通道。

    这里没有使用maven来管理jar包(依赖库),因为没太多,实际上还是很繁琐的,要有耐心。

    原本稍微复杂的工程项目还是应该使用maven来管理依赖库,参见:http://tieba.baidu.com/p/2364606122?pn=1


    下面记录一下依赖包搭建过程:

    DAO - SERVICE - 


    1.在eclipse中新建项目:

         new-project-Dynamic Web Project(name: spring_user)

    2. insert jar packages:

          参考如图,导入jar包到目标位置

          Download .jar files from: http://jarfiles.pandaidea.com  or http://mvnrepository.com/

          1)spring-reamework-release-3.1.3dist


    2)apache-log4j-1.2.16.jar

    3)commons-logging-1.1.1   用于登录


    4)hibernate-distribution-3.6.8 Finallib equired(hibernate用3、4都可以)


    5)jpa

        hibernate-jpa-2.0-api-1.0.0.Final.jar

    6)hibernate3

        hibernate3.jar
        slf4j-log4j12-1.6.1.jar

    7)hlfa/dbcp/aop/jstl

        aopalliance.jar
        aspectjrt.jar
        aspectjweaver.jar

      8)dbcp 数据引导性文件

        commons-collections-3.1.jar
        commons-dbcp.jar
        commons-pool.jar
    
    
      9)jstl 的标签:
      
        jsf-api.jar
        jsf-impl.jar
        jstl-1.2.jar
    
    
       10)数据库记录:  
        mysql-connector-java-5.1.17-bin.jar

       


      ...

    3. 建立model层的Pakage:

            New Java Package: zttc.itat.model,如图:



    4. model下,建立一个类

            zttc.itat.model >> New Java Class

            Name: User
            

            

    ----------

       @Entity
       @Table(name="t_user")    //创建一张表
       pulic class User{ 
         private int id;
         private String username;
         private String password;
         private String email;
         private String nickname;  
       }
    
       @GenerateValue
       @Id
       public int getId(){
          return Id;
       }
       ...//后面就是其他参数的Get Set 方法

    ----------


            1)add getter & setter增加Get Setter:

           Select all >> finish.
           2)add @Entity....

           此时我们再把分页的class加上: new package at zttc.itat.model >> new >> class >> Pager.java

    5. Spring 和Hibernate的整合

             打开数据库,新建一个database:spring_user 
             database charset:utf-8
             database collection: utf-8
             

            bean.xml文件的coding:
                从别处拷过来一个srcean.xml:
                
             beans.xml -- 改为zttc.itat...

            再改一下jdbc.properties:指定mysql数据库名: jdbc.url = jdbc:mysql://localhost:3306/spring_user

             参考(SpringMVC + Spring + SpringJDBC整合):http://www.open-open.com/lib/view/open1349272132291.html

             参考: http://www.blogjava.net/yiqi801218/archive/2008/03/16/186670.html



    6. 写DAO层: zttc.itat.dao

            新建一个package, name: zttc.itat.dao
           

           

           再建一个Interface:IUserDao.java
           

            参考代码:
            
    //这里面有一些简单的方法:
        package zttc.itat.dao;
        public interface IUserDao {
            public void add(User user);
            public void update(User user);
            public void delete(int id);
            public User load(int id);
            public List<User> list();
    	public Pager<User> find();  //分页的method声明
            public User loadByUsername(String username);
    
        }

            如图:
            
            

            再建立一个类:UserDao - UserDao.java, Add IUserDao里的方法进来:

            

            完了我们要继承DaoSupport, 要注入SessionFactory, 还要自己写一个方法public void setsuperSessionFactory().  再用Repository来注入一下,名称:("userDao")。
            


    7. 写UserException(zttc.itat.modelpackage下): New -> Class -> UserException (Superclass: java.lang.RuntimeException)

           UserException.java : Add default serial version ID
           RightClick >> Source >> Generate Constructors from Superclass >> select all, 父类构造下来
           UserException.java完成。
           

    8. 写SystemContext.java支持分页操作

          传分页还得传当前页、每页显示多少条这几个数据传过来。所以要创建一个thread local

          newClass: Source folder=spring_user/src, Package=zttc.itat.model   name=SystemContext

          



    9.  写Dao层各个方法,支持增删改查。文件:UserDao.java

           8.1 public void add(User user){   }   方法:

            public void add(User user){
                  this.getHibernateTemplate().save(user);
            }

          在UserDao.java中再写Pager相关操作:

            

        如上图所示,完成addupdatedeleteloadlist等:

       return this.getSession().creatQuery("from User").list();     //下图补充一下上图。


    再加一个方法:
      

    接下来我们完成Service层 ===----------


    10. 新建一个package:  zttc.itat.service Package

          10.1   New Interface: IUserService.java/


    11. UserService.java

          新建一个Class:

         

          Coding in UserService.java:



    12. 写SystemContextFilter

         新建一个Class:SystemContextFilter.java

           这里有很多Coding的内容,视频时间:至:
          

    15. 写web.xml

         先打开dispatcher: 

         再写mapping:

         再拷字符编码部分:

         

         

         还有把bean.xml加入监听:

         OpenSessionInWiew

         SystemContext

         Filter(zttc.itat.web.SystemContextFilter

         FilterMapping

        


    15. 创建Spring的Bean文件: user-servlet.xml

        

          beans, context, mvc这三个Desired XSD namespace declaration必须要选。

          在这里面要配这几个东西:参考:http://blog.csdn.net/kivenlee/article/details/6284732

    • mvc
    • context:component-scan
    • bean class="...InternalResourceViewResolver"
    • 其他异常那些东西就后面慢慢配了


    新建Controller投入实际测试

    16. 新建UserController.java


         

    17. 写WEB-INF/jsp/user/list.jsp


      写入: <h1>用户列表测试页面</h1>

    ===========至此搞定,测试一下 ===========

    Run >> Tomcat ,启动调试,http://localhost:8080/spring_user/user/users无问题。

    看看数据库,也建起来了:



    好累。。。

  • 相关阅读:
    内存使用信息及cpu使用信息
    网站被攻击了怎么办
    seo 百度不收录
    php 使用功能
    sl 动态调用wcf
    php 项目中遇到的问题 ...
    Closures
    php 配置虚拟主机
    jQery 常用工具大全
    jquery基础使用!
  • 原文地址:https://www.cnblogs.com/sonictl/p/6735583.html
Copyright © 2011-2022 走看看