SSM框架整合项目
文章目录
一,用到的技术:
一, ssm框架
二, 数据库-MySQL
三, 前端框架-bootstrap快速搭建简洁美观的界面
四, 项目的依赖管理-Maven
五,分页-pagehelper
六, 逆向工程-MyBatis Generator
二,功能点:
一,分页
1.利用Mybatis的分页插件PageHelper,需要在pom文件中引入
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.0</version>
</dependency>
在mybatis的配置文件中加入配置:
< plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!--分页参数合理化 -->
<property name="reasonable" value="true"/>
</plugin>
</plugins>
2.PageHelper的原理:
PageHelper方法使用了静态的ThreadLocal参数,分页参数和线程绑定,内部流程是:ThreadLocal中设置了分页参数(pageNum,pageSize),之后在查询执行的时候,获取当线程中的分页参数,执行查询的时候通过拦截器在sql语句中添加分页参数,之后实现分页查询,查询结束后在finally语句中清除ThreadLocal中的查询参数
3.使用
//直接在方法中调用,传入参数即可
PageHelper.startPage(pn, 5);
/*只要你可以保证在PageHelper方法调用后紧跟 MyBatis 查询方法,这就是安全的。因为PageHelper在finally代码段中自动清除了ThreadLocal存储的对象。*/
List<Employee> emps = employeeService.getAll();
// 使用pageInfo包装查询后的结果,只需要将pageInfo交给页面就行了。
// 封装了详细的分页信息,包括有我们查询出来的数据,传入连续显示的页数
PageInfo page = new PageInfo(emps, 5);
二,数据校验
一般来说,数据校验由前端Jquery校验,服务端jsr303校验和数据库的约束,这三层共同组成,
一,jquery前端校验
利用正则表达式,js的代码结合前端框架的一些组成元素共同完成
二,JSR303后端校验
1.需要引入jar包:
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
2.有特定的属性:可以在Projo类的属性上注入
空检查:@Null @NotNull @NotEmpty
Boolean检查:@AssertTrue @AsserFalse
长度检查:@Size(min=,max=)@Length(min=,max=)
日期检查:@Past @Future
数值检查:@Range @Max
@Pattern:验证 String 对象是否符合正则表达式的规则,被注释的元素符合制定的正则表达式,regexp:正则表达式 flags: 指定 Pattern.Flag 的数组,表示正则表达式的相关选项。
@Valid 递归的对关联对象进行校验, 如果关联对象是个集合或者数组,那么对其中的元素进行递归校验,如果是一个map,则对其中的值部分进行校验.(是否进行递归验证)
@CreditCardNumber信用卡验证
@Email 验证是否是邮件地址,如果为null,不进行验证ÿ