SSH(spring+springmvc+hibernate)框架快速上手
目录框架
目录框架如图所示.java代码包名即所存放代码的分类.
- controller->处理请求
- dao->数据访问层接口
- dao.impl->数据访问层接口实现(实现数据库操作)
- entity->实体类(数据库中的表)
- service->业务层接口
- service.impl->业务层接口实现(主要代码编写区域)
- util->工具集
配置文件
- hibernate.properties->hibernate相关配置(数据库驱动\用户名\密码...)
- applicationContext.xml,infrastructure.xml->spring配置文件(设置扫描包,配置数据库信息...)
- spring-dispatcher-servlet.xml->springmvc配置文件(包括controller包扫描,视图模型前后缀等)
Controller编写
如上图所示,@Controller,@Autowired,@RequestMapping都是注解,通过配置自动扫描,用户请求会发送至对应的controller处理.
- @Controller->controller注解,添加在controller类前
- @Autowired->成员变量自动装配,上图中将UserService作为一个变量,使用时spring会自动装配,无需实例化.
- @RequestMapping->指定的方法处理哪些请求,上图中,当用户发送"/getAllUser"请求时,会使用getAllUser方法进行处理.
除了这些注解,在使用时还会经常用到下面这些
1. @PathVariable
2. @RequestParam
3. ModelAndView
继续看例子
上图中使用了RequestMapping("/a/{b}") 与@PathVaribale("b")配合使用,达到取请求中指定值的目的.这里b也可改为a来取值.
- @RequestParam("a") String a 效果等同于request.getParameter("a")
ModelAndView可以传对象给指定视图
- modelandview使用流程 创建->添加对象"可选择不添"->设置目标页面->return
由于配置文件中设置了后缀,此处设置目标页面后没有加.jsp
Dao和DaoImpl的编写
数据访问层添加@Repository注解,自动装配sessionFactory
- 通过编写hql实现数据的增删改查一般步骤
https://blog.csdn.net/zbw18297786698/article/details/51993850
-
hql是高级版sql,与之类似.语法看上面链接.写的时候可以参考已有的代码demo
Entity编写
通过Entity类前添加@Entity@Table注解,实现通过代码自动创建数据表.- @Id
- @GenerateValue(strategy=GenerationType.IDENTITY)
- private int id;
这两个注解作用是指定id为表的主键,且为自增长.
- @ManyToOne
- @OneToOne
这两个注解为指定表的外键.添加后查询时即可使用Rules.user.username来通过对象的方式来获取关联表中的属性.
Service和ServiceImpl
业务层编写主要逻辑代码.类前使用@Service@Transactional两个注解来标注与DaoImpl类似.要实现接口中的方法.
AJAX功能实现
前端框架中已经包含jquery.js 可以使用jquery.js提供的ajax功能来很方便的实现.
与其他请求不同,ajax返回值是json或者String等类型.ajax的请求处理通过
Printwriter来实现.具体使用可根据demo来改.
配置文件
通常会使用的配置项目
- hibernate中的用户名,密码等
- applicationcontext.xml和infrastructure.xml中设置service,entity,Dao的自动扫描
- spring-dispatcher-servlet.xml中controller包,前后缀
最后更新:2017-08-13 22:53:16