jpa mysql_Spring boot通过JPA访问MySQL数据库

本文展示如何通过JPA访问MySQL数据库。

JPA全称Java Persistence API,即Java持久化API,它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据,结合其他ORM的使用,能达到简化开发流程的目的,使开发者能够专注于实现自己的业务逻辑上。

Spring boot结合Jpa 能够简化创建 JPA 数据访问层和跨存储的持久层功能,用户的持久层Dao接口只需要继承定义好的接口,无需再写实现类,就可以实现对象的CRUD操作以及分页排序等功能。

环境要求

Mysql数据库5.6以上

JDK1.8以上

开发工具使用STS

创建项目

使用STS创建项目

07d380ee87850463198e705d5b6ada69.png

选择web和JPA依赖

1b23fc6f1a8df6e1e5992a99f218d413.png

添加MySQL数据库驱动依赖

mysql

mysql-connector-java

application.properties中配置数据库连接信息

spring.jpa.hibernate.ddl-auto=create

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

spring.datasource.username=springuser

spring.datasource.password=ThePassword

以上数据库连接信息根据实际情况进行调整。

注意pring.jpa.hibernate.ddl-auto的值可以是none、create、update、create-drop。具体参考hibernate的文档。

创建实体模型

com.yuny.jpademo.pojo.User

importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;

@Entity//This tells Hibernate to make a table out of this class

public classUser {

@Id

@GeneratedValue(strategy=GenerationType.AUTO)privateInteger id;privateString name;privateString email;//此处省略get和set

}

增加数据访问接口

com.yuny.jpademo.repository.UserRepository

public interface UserRepository extends PagingAndSortingRepository{

}

此接口会自动由spring实现,并且产生对应的实例放在容器中,该实例的名称为类名首字母小写userRepository。

创建Controller测试

importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.ResponseBody;importorg.springframework.web.bind.annotation.RestController;importcom.yuny.jpademo.pojo.User;importcom.yuny.jpademo.repository.UserRepository;

@RestControllerpublic classUserController {

@AutowiredprivateUserRepository userRepository;//测试插入新的数据

@GetMapping(path="/add")public@ResponseBody String addNewUser (@RequestParam String name

, @RequestParam String email) {

User n= newUser();

n.setName(name);

n.setEmail(email);

userRepository.save(n);return "保存成功";

}//测试获取全部的数据

@GetMapping(path="/all")public IterablegetAllUsers() {returnuserRepository.findAll();

}

}

测试

运行SpringBootJpademoApplication后,访问

fe0613e9f377ca06df8f60e753851a6f.png

数据库显示插入数据成功

802062df073d027b964861f8c0a78382.png

77a479e0ccf30a95ed51a3ae625e97a4.png

总结

在没用使用jpa支持的时候,我们的代码要定义IUserDao(持久层接口)、IUserDaoImpl(持久层实现类)、IUserService(业务层接口)等,这样每写一个实体类,都要衍生出多个类来进行操作。

而在Spring  boot 中使用JPA,只需要声明一个接口就可以了。

案例代码

https://github.com/junyanghuang/spring-boot-samples/tree/master/spring-boot-jpademo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值