Coder Social home page Coder Social logo

crayfish07 / sss Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gl5/sss

0.0 0.0 0.0 989 KB

Spring+SpringMVC+Spring Data JPA快速开发环境框架的集成。pring Data JPA提供了一整套数据访问层(DAO)的解决方案,致力于减少数据访问层的开发量,并支持云服务的开源框架。 Spring Data 作为SpringSource的其中一个父项目, 旨在统一和简化对各类型持久化存储, 而不拘泥于是关系型数据库还是NoSQL 数据存储,Spring Data Jpa是Spring Data对JPA提供的一套解决方案。Spring Data Jpa实现了大部分的持久层的逻辑代码,你需要做的只是声明持久层的接口,其他的都交给Spring Data Jpa完成

Java 100.00%

sss's Introduction

#Spring+SpringMVC+Spring Data JPA搭建快速开发环境 ###Spring Data JPA pring Data JPA提供了一整套数据访问层(DAO)的解决方案,致力于减少数据访问层的开发量,并支持云服务的开源框架。

Spring Data 作为SpringSource的其中一个父项目, 旨在统一和简化对各类型持久化存储, 而不拘泥于是关系型数据库还是NoSQL 数据存储。无论是哪种持久化存储, 数据访问对象(或称作为DAO,即Data Access Objects)通常都会提供对单一域对象的CRUD (创建、读取、更新、删除)操作、查询方法、排序和分页方法等。

Spring Data则提供了基于这些层面的统一接口(Repository、CrudRepository、PagingAndSortingRepository、JpaRepository)以及对持久化存储的实现。

JPA(Java Persistence API,Java持久化API)是sun提出的一个对象持久化规范,各JavaEE应用服务器自主选择实现,JPA的底层实现是一些流行的开源ORM(对象关系映射)框架(如Hibernate、OpenJPA、TopLink、Ibatis等等),因此JPA其实也就是java实体对象和关系型数据库建立起映射关系,通过面向对象编程的**操作关系型数据库的规范。JPA定义了对象-关系映射以及实体对象持久化的标准接口。

Spring Data Jpa是Spring Data对JPA提供的一套解决方案。Spring Data Jpa实现了大部分的持久层的逻辑代码,你需要做的只是声明持久层的接口,其他的都交给Spring Data Jpa完成。

Spring Data Jpa中Repository是一个空接口,CrudRepository: 继承Repository,实现了一组CRUD相关的方法 ,PagingAndSortingRepository: 继承CrudRepository,实现了一组分页排序相关的方法 ,JpaRepository:继承PagingAndSortingRepository,实现一组JPA规范相关的方法。

其中它们提供的方法主要有:

###Spring MVC

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的**,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

关于Spring MVC过多的细节这里不展开讨论,相信做WEB开发的基本上都懂这一块。

###软件

  • JDK7+
  • Maven3+
  • Tomcat7+
  • MySQL

###准备 在src/main/resources/db.properties配置文件中修改数据库的配置信息,包括url、user和password等。

该项目使用STS(eclipse)开发,可以直接导入到eclipse工程中运行

###测试

使用PostMan对该URL进行请求测试:

GET请求

POST请求

分页请求

分页请求代码

public List<T> findPage(int page, int pageSize) {
	if (page < 1){
		page = 1;
	}
	if (pageSize < 1){
		pageSize = 16;
	}
	Pageable pageable = new PageRequest(page - 1, pageSize);
	return dao.findAll(pageable).getContent();
}

Pageable是一个分页接口,它的主要实现类为PageRequest,有三个构造方法

//创建一个分页请求
public PageRequest(int page, int size) {
	this(page, size, null);
}
//创建一个可排序的分页请求
public PageRequest(int page, int size, Direction direction, String... properties) {
	this(page, size, new Sort(direction, properties));
}
//创建一个可排序的分页请求
public PageRequest(int page, int size, Sort sort) {
	super(page, size);
	this.sort = sort;
}

sss's People

Contributors

scalad avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.