spring boot 高级 ——持久化

Spring boot 持久化

  1. 引入

  Spring Boot就数据库持久化支持,支持原生Jdbc,也支持Mybatis和JPA。

 

2.Spring boot JdbcTemplate

引入spring-boot-starter-jdbc

那么只需要在需要使用的类中加入:

@Resource

private JdbcTemplate jdbcTemplate;

 

3.引入Maven依赖-mysql,jdbc

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

</dependency>

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-jdbc</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

</dependency>

 

 

4.数据库信息配置

在application.properties文件中配置mysql连接配置文件

########################################################

###datasource

########################################################



spring.datasource.driverClassName = com.mysql.jdbc.Driver

spring.datasource.url = jdbc:mysql://localhost:3306/test

spring.datasource.username = root

spring.datasource.password = root

 

Yaml 方式

spring:

  datasource:

    driverClassName: com.mysql.jdbc.Driver

    url : jdbc:mysql://localhost:3306/spring-boot-demo?useUnicode=true&characterEncoding=utf-8

    username : root

    password : root

 

 

5.代码示例

1) Dao

声明为:@Repository,引入JdbcTemplate

public Demo getById(long id){

String sql = "select *from Demo where id=?";

RowMapper<Demo> rowMapper = new BeanPropertyRowMapper<Demo>(Demo.class);

return jdbcTemplate.queryForObject(sql, rowMapper,id);

}

       2)Service

声明为:@Service 引入dao

@Resource

private DemoDao demoDao;



public void getById(Long id){

 demoDao.getById(id);

}

     3)Controller

@Resource

private DemoService demoService;



@RequestMapping("/getById")

public Demo getById(long id){

return demoService.getById(id);

}

  

 

Springboot 测试

 

Spring boot-spring data Jpa

  1. Spring data jpa简介

1.Spring data

Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得数据库的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。此外,它还支持基于关系型数据库的数据服务,如Oracle RAC等。对于拥有海量数据的项目,可以用Spring Data来简化项目的开发,就如Spring Framework对JDBC、ORM的支持一样,Spring Data会让数据的访问变得更加方便。

2.Jpa

“规范”: 所谓的规范意指明文规定或约定俗成的标准。如:道德规范、技术规范,公司管理规范。那么“持久化规范”就是Sun针对持久化这一层操作指定的规范,如果没有指定JPA规范,那么新起的框架就随意按照自己的标准来了,那我们开发人员就没法把我们的经历全部集中在我们的业务层上,而是在想如何进行兼容,这种情况有点像Android开发,Android本身有官方的SDK,但是由于SDK过于开源了,结果导致很多厂商基于SDK二次开发,但是兼容性就不是很好,最好的例子就是Android的头像上传,就是一件很烦人的事情。好了,JPA就介绍到这里。

3.Hibernate

          JPA是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的 toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。

4.Spring data Jpa

Spring Data JPA能干什么

可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了CRUD外,还包括如分页、排序等一些常用的功能。

首先我们需要清楚的是Spring Data是一个开源框架,在这个框架中Spring Data JPA只是这个框架中的一个模块,所以名称才叫Spring Data JPA。如果单独使用JPA开发,你会发现这个代码量和使用JDBC开发一样有点烦人,所以Spring Data JPA的出现就是为了简化JPA的写法,让你只需要编写一个接口继承一个类就能实现CRUD操作了

       5)Spirng data jpa常用接口或类

Spring Data 的一个核心接口为我们提供了常用的接口

Repository 接口是 Spring Data 的一个核心接口,它不提供任何方法,开发者需要在自己定义的接口中声明需要的方法 :

 

 public interface Repository<T, ID extends Serializable> { }

1. Repository是一个空接口,

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值