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无问题。

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



好累。。。

原文地址:https://www.cnblogs.com/sonictl/p/6735583.html