springBoot整合springData Jpa
2017-12-08 14:58
741 查看
1、springData是什么
Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问计数,包括非关系数据库、Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持。Spring Data 包含多个子项目:
Commons - 提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化 Hadoop - 基于 Spring 的 Hadoop 作业配置和一个 POJO 编程模型的 MapReduce 作业 Key-Value - 集成了 Redis 和 Riak ,提供多个常用场景下的简单封装 Document - 集成文档数据库:CouchDB 和 MongoDB 并提供基本的配置映射和资料库支持 Graph - 集成 Neo4j 提供强大的基于 POJO 的编程模型 Graph Roo AddOn - Roo support for Neo4j JDBC Extensions - 支持 Oracle RAD、高级队列和高级数据类型 JPA - 简化创建 JPA 数据访问层和跨存储的持久层功能 Mapping - 基于 Grails 的提供对象映射框架,支持不同的数据库 Examples - 示例程序、文档和图数据库 Guidance - 高级文档
我们对于springBoot来说,持久层操作可以使用hibernate、mybatis,目前为止springBoot支持的最好的是springData JPA,但是个人认为,持久层框架mybatis是特别优秀的,所以部分公司也在使用springBoot+mybatis的方式
整合spingData JAP
引入maven依赖 ,导入jar包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- mysql驱动:com.mysql.jdbc.Driver --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.29</version> </dependency>
配置我们jpa需要的数据源: #服务器端口号 server.port=8089 #springMVC前缀和后缀 spring.mvc.view.prefix=/pages/ spring.mvc.view.suffix=.jsp #jpa配置: ######################################################## ###数据库连接信息 ######################################################## #连接地址 spring.datasource.url=jdbc:mysql://localhost:3306/db_baoxian #数据库账户 spring.datasource.username=root #数据库密码 spring.datasource.password=root #数据库驱动 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ######################################################## ### Java Persistence Api JPA相关配置 ######################################################## #指定数据库类型 spring.jpa.database=mysql #控制台打印sql spring.jpa.show-sql=true #建表策略,这里用update,即根据实体更新表结构 spring.jpa.hibernate.ddl-auto=update #表中字段命名策略,这里要引入hibernate的核心包,不然这个命名策略会报错 spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy #方言 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
编写一个登陆功能:
controller和service写法SSM一样,不变,
dao的写法如下:
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import com.xingxue.entity.Admin; public interface AdminDao extends JpaRepository<Admin, Integer>{ @Query(value="select * FROM xx_plat_admin where" + " admin_username=?1 and admin_pwd = ?2", nativeQuery=true) Admin login(String name, String pwd); }
首先我们的dao必须继承JpaRepository,这个类是springdata jpa帮我们写好的一个已经实现了部分功能的数据库操作的类,
而且默认绑定当前springboot的数据库连接池,
我们发现该类继承自我们的jpa的repository已经班我们实现了一些增、删除、查询的简单功能,当然复杂查询需要通过自己的方式来实现,如果我们需要编写一个SQL进行数据查询,需要使用注解@Query
如果是写操作,增、删、改,我们需要加入注解
@modifying
如下:
@Modifying @Query(value="update emp2 set ename='zhangsan' where id = 1", nativeQuery=true) void updateEmp1();
里面sql可以跟我们的业务逻辑变动
springboot+springdata jpa就已经完成了
相关文章推荐
- spring boot 整合spring data jpa
- springboot整合spring data jpa 动态查询
- SpringBoot整合Spring Data JPA、MySQL、Druid并使用Mockito实现单元测试
- spring-boot、spring-data-jpa、hibernate整合
- springboot 入门教程(6)--- 整合Spring data JPA实现CRUD(附源码)
- springBoot入门总结(三)整合SpringDataJPA
- Spring Boot1.52 Spring Security Spring Data Jpa 整合
- springboot干货——(七)springboot整合Spring Data JPA
- Spring Boot + Spring Data JPA 项目整合开发记录(持续更新)
- Spring Boot整合Spring MVC、Spring、Spring Data JPA(Hibernate)
- springboot整合spring data jpa
- spring boot 整合spring data jpa
- spring boot 整合 spring data jpa
- SpringBoot连接SQLite数据库(基于Spring-Data-Jpa和Gradle配置)
- 深入学习spring-boot系列(二)--使用spring-data-jpa
- Spring Boot Data JPA support Emoji
- spring boot(二)spring data jpa以及事物配置
- SpringBoot整合Spring-data-redis实现集中式缓存
- Idea下Spring Boot、thymeleaf、Jpa项目整合实例
- SpringBoot操作之Spring-Data-Jpa(二)CRUD实现