搭建 SpringBoot 2.0 项目 (三) 使用 JPA 访问MySQL数据库

7 篇文章 0 订阅
1 篇文章 0 订阅

SpringBoot 入门系列:

搭建 SpringBoot 2.0 项目 (一) 开发环境的搭建(安装开发工具STS)

搭建 SpringBoot 2.0 项目 (二) 简单项目的搭建

搭建 SpringBoot 2.0 项目 (三) 使用 JPA 访问MySQL数据库

搭建 SpringBoot 2.0 项目 (四) 使用 Mybatis 访问MySQL数据库

搭建 SpringBoot 2.0 项目 (五) 搭建一个集成ssm的web项目

 

本博文主要讲述使用 JPA 访问 MySQL 数据库,参考了官网的入门指南,链接如下:

官网入门指南:https://spring.io/guides/gs/accessing-data-mysql/

运行环境:

  • MySQL 5.6或更高版本。

 

1、首先登录Mysql,然后新建一个数据库

推荐使用软件navicat ,操作数据库非常便捷。参考我的博文:https://blog.csdn.net/Henry_Lin_Wind/article/details/80927803

mysql> create database db_example

 否则运行时,会报错,如下:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'db_example'

 2、使用 STS 新建一个名为demo-jpa的项目,选择JPA,MySQL以及Web

创建完成后,打开 application.properties

 设置数据库相关属性

spring.jpa.hibernate.ddl-auto=create //第一次访问数据库要设置为create,成功后改为none
spring.datasource.url=jdbc:mysql://localhost:3306/db_example //你的数据库连接路径
spring.datasource.username=          //你的数据库用户名
spring.datasource.password=          //你的数据库密码

 3、创建 User.java 、UserRepository.java 、MainController.java。如下:

package com.example.demo;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity 
public class User {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    private String name;

    private String email;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}


}

 

package com.example.demo;

import org.springframework.data.repository.CrudRepository;

// This will be AUTO IMPLEMENTED by Spring into a Bean called userRepository
// CRUD refers Create, Read, Update, Delete

public interface UserRepository extends CrudRepository<User, Integer> {

}
package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller    
@RequestMapping(path="/demo") 
public class MainController {
	@Autowired 
	         
	private UserRepository userRepository;

	@GetMapping(path="/add") // Map ONLY GET Requests
	public @ResponseBody String addNewUser (@RequestParam String name
			, @RequestParam String email) {
		
		User n = new User();
		n.setName(name);
		n.setEmail(email);
		userRepository.save(n);
		return "Saved";
	}

	@GetMapping(path="/all")
	public @ResponseBody Iterable<User> getAllUsers() {
		return userRepository.findAll();
	}
}

4、启动项目,插入数据

  http://localhost:8080/demo/add?name=First&email=someemail@someemailprovider.com

 新增数据,成功返回 saved

 

查询数据库数据,返回所有数据

通过Navicat查询:表结构及数据已成功建立。

5、新增数据以及查询成功后,将application.properties 的 spring.jpa.hibernate.ddl-auto 设置为 nono 或者 update

spring.jpa.hibernate.ddl-auto=none

设置完成后重启,就可以在不改变数据结构的情况下插入新数据,例如

http://localhost:8080/demo/add?name=test&email=test@test.com

重新查询,结果如下:

以上,springboot项目通过JPA访问MySQL的案例就成功了。

项目代码:https://pan.baidu.com/s/1fSNXFmmud_5BxP-glHm-Cw

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Spring Boot 2.0、Spring Data JPA、Thymeleaf和Shiro开发的后台管理系统可以实现一个功能强大且易于维护的应用程序。 这套技术栈的优势包括: 1. Spring Boot 2.0:它是一个快速构建应用程序的框架,提供自动化配置和减少样板代码的优势,使开发变得更加高效。 2. Spring Data JPA:它是一个基于JPA的持久化框架,通过简化数据库操作和提供对各种数据库的支持,大大减少了开发人员的工作量。 3. Thymeleaf:它是一个服务器端的Java模板引擎,可以直接处理HTML、XML、JavaScript、CSS和文本等内容。它具有易于学习和使用的特点,并且能够与Spring Boot实现良好的集成。 4. Shiro:它是一个功能强大且灵活的Java安全框架,可以提供认证、授权、加密和会话管理等功能。通过集成Shiro,我们可以轻松实现后台管理系统的用户认证和访问控制等安全需求。 基于这套技术栈,我们可以开发一个后台管理系统,实现用户登录、权限管理、菜单管理、角色管理、用户管理等功能。利用Spring Boot的自动化配置和快速启动特性,我们可以快速搭建项目的骨架,并集成Spring Data JPA实现数据访问,利用Thymeleaf开发可复用的页面组件,通过Shiro实现用户认证和授权。 总之,基于Spring Boot 2.0、Spring Data JPA、Thymeleaf和Shiro的后台管理系统,不仅可以极大地提高开发效率,还能够提供丰富的功能和安全性,帮助我们快速构建高质量的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值