阅读804 返回首页    go 阿里云 go 技术社区[云栖]


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
如上图所示,@Controller,@Autowired,@RequestMapping都是注解,通过配置自动扫描,用户请求会发送至对应的controller处理.
- @Controller->controller注解,添加在controller类前
- @Autowired->成员变量自动装配,上图中将UserService作为一个变量,使用时spring会自动装配,无需实例化.
- @RequestMapping->指定的方法处理哪些请求,上图中,当用户发送"/getAllUser"请求时,会使用getAllUser方法进行处理.
除了这些注解,在使用时还会经常用到下面这些
1. @PathVariable
2. @RequestParam
3. ModelAndView
继续看例子
image
上图中使用了RequestMapping("/a/{b}") 与@PathVaribale("b")配合使用,达到取请求中指定值的目的.这里b也可改为a来取值.


image
在上图中使用了@RequestParam的注解.

- @RequestParam("a") String a 效果等同于request.getParameter("a")

ModelAndView可以传对象给指定视图
image
- modelandview使用流程 创建->添加对象"可选择不添"->设置目标页面->return
由于配置文件中设置了后缀,此处设置目标页面后没有加.jsp

Dao和DaoImpl的编写

image


image
数据访问层添加@Repository注解,自动装配sessionFactory
- 通过编写hql实现数据的增删改查一般步骤
https://blog.csdn.net/zbw18297786698/article/details/51993850

  • hql是高级版sql,与之类似.语法看上面链接.写的时候可以参考已有的代码demo

    Entity编写

    image
    通过Entity类前添加@Entity@Table注解,实现通过代码自动创建数据表.

    • @Id
    • @GenerateValue(strategy=GenerationType.IDENTITY)
    • private int id;

这两个注解作用是指定id为表的主键,且为自增长.
- @ManyToOne
- @OneToOne
这两个注解为指定表的外键.添加后查询时即可使用Rules.user.username来通过对象的方式来获取关联表中的属性.

Service和ServiceImpl

image


image
业务层编写主要逻辑代码.类前使用@Service@Transactional两个注解来标注与DaoImpl类似.要实现接口中的方法.

AJAX功能实现

前端框架中已经包含jquery.js 可以使用jquery.js提供的ajax功能来很方便的实现.

image

image
与其他请求不同,ajax返回值是json或者String等类型.ajax的请求处理通过
Printwriter来实现.具体使用可根据demo来改.

配置文件

通常会使用的配置项目

  • hibernate中的用户名,密码等
  • applicationcontext.xml和infrastructure.xml中设置service,entity,Dao的自动扫描
  • spring-dispatcher-servlet.xml中controller包,前后缀

image


image


image

image

最后更新:2017-08-13 22:53:16

  上一篇:go  学习c语言好书推荐——学习c语言的7本书
  下一篇:go  Kubernetes核心原理(二)之Controller Manager