用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service层,Model层,建立Controller对数据库操作的通道。
这里没有使用maven来管理jar包(依赖库),因为没太多,实际上还是很繁琐的,要有耐心。
原本稍微复杂的工程项目还是应该使用maven来管理依赖库,参见:http://tieba.baidu.com/p/2364606122?pn=1
下面记录一下依赖包搭建过程:
DAO - SERVICE -
new-project-Dynamic Web Project(name: spring_user)
Download .jar files from: http://jarfiles.pandaidea.com or http://mvnrepository.com/
1)spring-reamework-release-3.1.3\dist
4)hibernate-distribution-3.6.8 Final\lib\required(hibernate用3、4都可以)
hibernate-jpa-2.0-api-1.0.0.Final.jar
hibernate3.jar slf4j-log4j12-1.6.1.jar
7)hlfa/dbcp/aop/jstl
aopalliance.jar aspectjrt.jar aspectjweaver.jar
commons-collections-3.1.jar commons-dbcp.jar commons-pool.jar9)jstl 的标签:
jsf-api.jar jsf-impl.jar jstl-1.2.jar10)数据库记录:
mysql-connector-java-5.1.17-bin.jar
...
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 方法
此时我们再把分页的class加上: new package at zttc.itat.model >> new >> class >> Pager.java
打开数据库,新建一个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
再建一个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")。
传分页还得传当前页、每页显示多少条这几个数据传过来。所以要创建一个thread local
newClass: Source folder=spring_user/src, Package=zttc.itat.model name=SystemContext
8.1 public void add(User user){ } 方法:
public void add(User user){ this.getHibernateTemplate().save(user); }
如上图所示,完成add\update\delete\load\list等:
return this.getSession().creatQuery("from User").list(); //下图补充一下上图。
新建一个Class:
Coding in UserService.java:
新建一个Class:SystemContextFilter.java
这里有很多Coding的内容,视频时间:先打开dispatcher:
再写mapping:
再拷字符编码部分:
还有把bean.xml加入监听:
OpenSessionInWiew
SystemContext
Filter(zttc.itat.web.SystemContextFilter)
FilterMapping
beans, context, mvc这三个Desired XSD namespace declaration必须要选。
在这里面要配这几个东西:参考:http://blog.csdn.net/kivenlee/article/details/6284732
===========至此搞定,测试一下 ===========
Run >> Tomcat ,启动调试,http://localhost:8080/spring_user/user/users无问题。
看看数据库,也建起来了:
好累。。。