jpa mysql8_springBoot+JPA+mysql8.0.15快速入门教程-Go语言中文社区

1.JPA简介

JPA(Java Persistence API)是Sun官方提出的Java持久化规范,用来方便大家操作数据库。

真正干活的可能是Hibernate,TopLink等等实现了JPA规范的不同厂商,默认是Hibernate。

本知识演示如何在Springboot中快捷方便地使用JPA。详细看百度百科

2.环境准备

JDK1.8 、IDEA 2018 、Maven 3.5 、Mysql8.0.15

3. 数据库

create database testjpa;

新建表

use testjpa;

CREATE TABLE category_ (

id int(11) NOT NULL AUTO_INCREMENT,

name varchar(30),

PRIMARY KEY (id)

) DEFAULT CHARSET=UTF8;

添加四条数据

insert into category_ values(null,'category 1');

insert into category_ values(null,'category 2');

insert into category_ values(null,'category 3');

insert into category_ values(null,'category 4');

4.新建springboot工程

e85b763a06933f2190be23f6aec87c85.png

选上web依赖

905b7e6ebbb86af1991a27471dad2043.png

5.新建HelloController类

新建HelloController类验证环境

package com.eknaij.springbootjpa;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class HelloController {

@RequestMapping("/hellojpa")

public String helloSpringBoot() {

return "Hello Spring Boot JPA";

}

}

运行,在浏览器输入http://localhost:8080/hellojpa可以看到如下信息:

9601ef9a26a1a6f9d22e4b966c08feed.png

6.修改pom.xml

添加如下依赖:

javax.servlet

javax.servlet-api

javax.servlet

jstl

org.apache.tomcat.embed

tomcat-embed-jasper

mysql

mysql-connector-java

8.0.15

org.springframework.boot

spring-boot-starter-data-jpa

7.修改配置文件application.properties

新增数据库链接必须的参数

spring.jpa.properties.hibernate.hbm2ddl.auto=update

表示会自动更新表结构,包括创建表(所以之前不新建表也是可以的)

spring.mvc.view.prefix=/WEB-INF/jsp/

spring.mvc.view.suffix=.jsp

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testjpa?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true

spring.datasource.username=root

spring.datasource.password=666666

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.jpa.properties.hibernate.hbm2ddl.auto=update

由于我用得是Mysql8.0 所以启动类是 com.mysql.cj.jdbc.Driver如果是5.0+的版本请改成com.mysql.jdbc.Driver

8.新建实体类

新建一个POJO包,用来存放实体类

d1dfa83621567343d53f02fe656289af.png

具体内容:

package com.eknaij.springbootjpa.pojo;

import javax.persistence.*;

@Entity

@Table(name = "category_")

public class Category {

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name = "id")

private int id;

@Column(name = "name")

private String name;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

@Entity 注解表示这是个实体类

@Table(name = “category_”) 表示这个类对应的表名是 category_ ,注意有下划线

@Id 表明主键

@GeneratedValue(strategy = GenerationType.IDENTITY) 表明自增长方式

@Column(name = “id”) 表明对应的数据库字段名

9.新建Dao接口

5b47105c729a0a2c9f95bd6932e4a841.png

具体内容:

package com.eknaij.springbootjpa.dao;

import com.eknaij.springbootjpa.pojo.Category;

import org.springframework.data.jpa.repository.JpaRepository;

public interface CategoryDAO extends JpaRepository {

}

dao接口CategoryDAO,继承了JpaRepository,并且提供泛型 表示这个是针对Category类的DAO,Integer表示主键是Integer类型。

JpaRepository 这个父接口,就提供了CRUD, 分页等等,可以直接拿来用

10. 新建controller

b3994d42a0f55ddeac46c651c6b5016d.png

具体内容:

package com.eknaij.springbootjpa.controller;

import com.eknaij.springbootjpa.dao.CategoryDAO;

import com.eknaij.springbootjpa.pojo.Category;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller

public class CategoryController {

@Autowired

CategoryDAO categoryDAO;

@RequestMapping("/listCategory")

public String listCategory(Model model) throws Exception {

List list=categoryDAO.findAll();

model.addAttribute("lists", list);

return "listCategory";

}

}

11.新建JSP页面

新建如下目录,并添加listCategory.jsp:

de2f3894978a43520516d8fbb7d56563.png

JSP页面内容如下,为了简化没有设置任何样式:

pageEncoding="UTF-8"%>

idname
${c.id}${c.name}

12.启动项目

在浏览器输入http://127.0.0.1:8080/listCategory

看到如下信息则表示成功:

a4e74438e5f1472accba2eb55480e4d4.png

接下来我们讲一下CRUD操作以及分页。

springBoot+jpa的增删差改操作(CRUD)+mysq8.0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值