SSM整合后的使用
发布时间:2022-11-02 14:35:30 300 相关标签: # spring# java# mysql# sql# 容器
一. ssm中添加分页控件
1.添加jar包
<!-- 添加分页插件的依赖包 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
2.配置分页拦截器
mybatis.xml文件中添加
<!--在版本5之前的配置方式 --><!-- <plugins> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> </plugin></plugins>--><!-- 在版本5之后的配置方式--><plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor" />
</plugins>vice层添加一个分页方法
//分页查询
@Override
public PageInfo selectItems(int pageindex, int pagesize) {
//开启分页 在后面调用查询语句的时候会加入limit
PageHelper.startPage(pageindex,pagesize);
//调用查询所有的方法 (会被加入limit)
List itemsList= itemsMapper.selectItems();
//组装pageinfo对象返回
PageInfo pageInfo=new PageInfo(itemsList);
return pageInfo;
}
4.在控制层调用分页方法
@RequestMapping("/selectItemsListByPage")
public ModelAndView selectItemsListByPage(@RequestParam(value ="pageindex",defaultValue ="1" ) int pageindex)
{
PageInfo pageInfo = itemsService.selectItems(pageindex,3);
ModelAndView modelAndView=new ModelAndView();
modelAndView.addObject("pageInfo",pageInfo);
modelAndView.setViewName("showItemsByPage");
return modelAndView;
}
5.创建showItemsByPage.jsp显示
${items.name}
总共查询到${pageInfo.total}条记录,
共${pageInfo.pages}页
当前是第${pageInfo.pageNum}页
${i}
二 .ssm中添加aop
1.导入jar
<!-- 导入aop jar -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.10</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
2.创建切面类
package com.test.aspects;
import net.sf.jsqlparser.statement.execute.Execute;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import java.beans.Expression;
import java.text.SimpleDateFormat;
import java.util.Date;
@Aspect
public class TimeAspects {
@Pointcut("execution(* com.test.service.impl.ItemsService.select*(..))")
public void point()
{}
@Before("TimeAspects.point()")
public void before()
{
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss:ms");
System.out.println("开始执行的时间:"+simpleDateFormat.format(new Date()));
}
@AfterReturning("execution(* com.test.service.impl.ItemsService.select*(..))")
public void afterReturn()
{
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss:ms");
System.out.println("成功执行的时间:"+simpleDateFormat.format(new Date()));
}
}
3.创建aop的配置文件
applicationContext-aop.xml
因为扫描包的配置已经在application-ioc.xml文件中配置过,这里不需要重复
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- 创建切面类对象 -->
<bean id="timeAspects" class="com.test.aspects.TimeAspects" />
<!-- 开启 aop 自动代理
做织入操作
-->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
</beans>
4.修改web.xml文件中的spring配置文件的导入
改为applicationContext-*.xml
<!-- 配置spring...xml文件的路径 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-*.xml</param-value>
</context-param>
<!-- 配置context 加载的监听器 -->
<!-- 加载spring 的容器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
5.运行
http://localhost:8080/testssm/items/selectItemsListByPage
因为这个方法中会调用service层的selectItemsListByPage方法,符合切点,所以会织入进来
。。。
成功执行的时间:2019-06-26 04:13:12:1312
文章来源: https://blog.51cto.com/u_15707781/5807893
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报