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.3\dist
2)apache-log4j-1.2.16.jar
3)commons-logging-1.1.1 用于登录
4)hibernate-distribution-3.6.8 Final\lib\required(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:
从别处拷过来一个src\bean.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)
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相关操作:
如上图所示,完成add\update\delete\load\list等:
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无问题。
看看数据库,也建起来了:
好累。。。
Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建的更多相关文章
- springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定
springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定 标签: springmvc springmvc学习笔记12-springmvc注解开发之包装类型參数绑定 需求 实现方 ...
- 1.1(Spring MVC学习笔记)初识SpringMVC及SpringMVC流程
一.Spring MVC Spring MVC是Spring提供的一个实现了web MVC设计模式的轻量级Web框架. Spring优点:网上有,此处不复述. 二.第一个Spring MVC 2.1首 ...
- Spring MVC学习笔记--认识SpringMVC
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框 ...
- Spring MVC 学习笔记1 - First Helloworld by Eclipse【& - java web 开发Tips集锦】
Spring MVC 学习笔记1 - First Helloworld by Eclipse reference:http://www.gontu.org 1. 下载 Spring freamwork ...
- Spring MVC 学习笔记一 HelloWorld
Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息
</pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...
- Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息
Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...
- Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录
Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...
随机推荐
- linux的系统组成和计算机组成原理,linux常用操作
Linux入门 linux简介 学习目的:linux服务器操作系统稳定长期运行,python,pycharm装于linux上 linux系统组成 应用软件:调用系统软件接口 linux操作系统分两 ...
- HTML5 Canvas水波纹动画特效
HTML5的Canvas特性非常实用,我们不仅可以在Canvas画布上绘制各种图形,也可以制作绚丽的动画,比如这次介绍的水波纹动画特效.以前我们也分享过一款基于HTML5 WebGL的水波荡漾动画,让 ...
- java线程大全一讲通
Java线程:概念与原理 一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程 ...
- ALGO-13_蓝桥杯_算法训练_拦截导弹(贪心,DP)
问题描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...
- uoj #49. 【UR #3】铀仓库
http://uoj.ac/problem/49 这题二分答案可以做,同时存在另一个直接二分的解法. 考虑对每个点,二分能向左右延伸的最大半径,由于权值范围较大,不能O(1)查询向一侧走指定距离后到达 ...
- Java-Runoob-高级教程-实例-数组:11. Java 实例 – 删除数组元素
ylbtech-Java-Runoob-高级教程-实例-数组:11. Java 实例 – 删除数组元素 1.返回顶部 1. Java 实例 - 删除数组元素 Java 实例 以下实例演示了如何使用 ...
- word搜狗输入失效切换方法
- html地址--待更新
11.学习笔记: 视频直播技术:ijkplayer技术:jni技术: https://www.cnblogs.com/renhui/category/1011048.html: IM:环信, xmpp ...
- Java项目部署服务器操作
有 2个工具需要下载,我使用的是 xshell(操作Linux命令),xftp5(操作文件传输) 需要知道服务器 ip ,账号,密码 xshell连接时,协议选择SSH连接,其他正常输入. xftp5 ...
- CountDownLatch与join的区别和联系
首先,我们来看一个应用场景1: 假设一条流水线上有三个工作者:worker0,worker1,worker2.有一个任务的完成需要他们三者协作完成,worker2可以开始这个任务的前提是worker0 ...