简单使用Spring Boot+JpaRepository+hibernate搭建项目
简单使用Spring Boot+JpaRepository+hibernate搭建项目
sql:
-- -------------------------------------------------------- -- 主机: 127.0.0.1 -- 服务器版本: 10.3.9-MariaDB - mariadb.org binary distribution -- 服务器操作系统: Win64 -- HeidiSQL 版本: 9.4.0.5125 -- --------------------------------------------------------/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET NAMES utf8 */; /*!50503 SET NAMES utf8mb4 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;-- 导出 wbg_logistics 的数据库结构 CREATE DATABASE IF NOT EXISTS `wbg_logistics` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `wbg_logistics`;-- 导出 表 wbg_logistics.role 结构 CREATE TABLE IF NOT EXISTS `role` (`id` int(11) NOT NULL AUTO_INCREMENT,`role_name` varchar(20) DEFAULT NULL,`note` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=103 DEFAULT CHARSET=utf8;-- 数据导出被取消选择。 /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; /*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
View Code
第一步:创建好spring boot项目
教程:https://www.cnblogs.com/weibanggang/p/10200945.html
第二步:配置
1、build.gradle加入依赖
repositories {//使用阿里云仓库maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}mavenCentral() }dependencies {implementation('org.springframework.boot:spring-boot-starter-data-jpa')implementation('org.springframework.boot:spring-boot-starter-thymeleaf')implementation('org.springframework.boot:spring-boot-starter-web')// mariadbcompile group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '2.3.0'// hibernatecompile group: 'org.hibernate', name: 'hibernate-core', version: '5.4.0.Final'implementation('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2')testImplementation('org.springframework.boot:spring-boot-starter-test') }
View Code
2、配置数据application
#数据驱动 # compile group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '2.3.0' spring.datasource.driver-class-name=org.mariadb.jdbc.Driver #数据库连接 spring.datasource.url=jdbc:mariadb://localhost:3306/wbg_logistics #数据库密码 spring.datasource.password=123456 #数据库用户名 spring.datasource.username=root #设置数据库连接的平台 spring.jpa.database-platform=org.hibernate.dialect.MariaDB10Dialect spring.jpa.hibernate.ddl-auto=update#监控 management.endpoints.web.exposure.include=*server.port=8080
View Code
第三步:创建类、接口、访问数据
1、Role类:
package com.wbg.springbootdemo.entity;import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table;@Entity @Table public class Role {@Overridepublic String toString() {return "Role{" +"id=" + id +", roleName='" + roleName + '\'' +", note='" + note + '\'' +'}';}@Idint id;String roleName;String note;public Role() {}public int getId() {return id;}public Role(int id) {this.id = id;}public void setId(int id) {this.id = id;}public String getRoleName() {return roleName;}public void setRoleName(String roleName) {this.roleName = roleName;}public String getNote() {return note;}public void setNote(String note) {this.note = note;}public Role(int id, String roleName, String note) {this.id = id;this.roleName = roleName;this.note = note;} }
View Code
2、 RoleMapper接口继承JpaRepository
package com.wbg.springbootdemo.dao;import com.wbg.springbootdemo.entity.Role; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;@Repository public interface RoleMapper extends JpaRepository<Role,Integer> {}
View Code
3、RoleService
package com.wbg.springbootdemo.service;import com.wbg.springbootdemo.entity.Role;import java.util.List; import java.util.Optional;public interface RoleService {List<Role> listAll();void save(Role role);void update(Role role);void delete(int id);Optional<Role> findById(int id); }
View Code
4、RoleServiceImpl实现类
package com.wbg.springbootdemo.service.impl;import com.wbg.springbootdemo.dao.RoleMapper; import com.wbg.springbootdemo.entity.Role; import com.wbg.springbootdemo.service.RoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import java.util.List; import java.util.Optional;@Service public class RoleServiceImpl implements RoleService {@Autowiredprivate RoleMapper roleMapper;/**** 查询全部* @return*/@Overridepublic List<Role> listAll() {return roleMapper.findAll();}/*** 添加* @param role*/@Overridepublic void save(Role role) {roleMapper.save(role);System.out.println("添加");}//如果有就修改、没有就添加 @Overridepublic void update(Role role) {roleMapper.saveAndFlush(role);}/*** 删除* @param id*/@Overridepublic void delete(int id) {roleMapper.delete(new Role(id));}/*** 查询* @param id* @return*/@Overridepublic Optional<Role> findById(int id) {return roleMapper.findById(id);} }
View Code
5、RoleController
package com.wbg.springbootdemo.controller;import com.wbg.springbootdemo.entity.Role; import com.wbg.springbootdemo.service.RoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*;import java.util.List; import java.util.Optional;@RestController @RequestMapping("/role") public class RoleController {@Autowiredprivate RoleService roleService;@GetMapping("/all")public List<Role> listAll(){return roleService.listAll();}@GetMapping("/delete")public List<Role> delete(int id){roleService.delete(id);return roleService.listAll();}@GetMapping("/getById")public Optional<Role> getById(int id){return roleService.findById(id);}@PostMapping("/insert")public List<Role> insert( Role role){roleService.save(role);return roleService.listAll();}@PostMapping("/update")public List<Role> update(Role role){roleService.update(role);return roleService.listAll();}}
View Code
第四步:index.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> <a href="/role/all">查询全部</a> <br/> <br/> <form action="/role/getById"><p>id: <input type="number" name="id"/><input type="submit" value="单个查询"/></p> </form><br/> <br/> <br/> <form action="/role/delete"><p>id: <input type="number" name="id"/><input type="submit" value="删除"/></p> </form> <br/> <br/> <form method="post" action="/role/insert"><p>id:<input type="number" name="id"/></p><p>roleName:<input type="text" name="roleName"/></p><p>note:<input type="text" name="note"/></p><p><input type="submit" value="添加"/></p> </form> <br/> <br/> <form method="post" action="/role/update"><p>id:<input type="number" name="id"/></p><p>roleName:<input type="text" name="roleName"/></p><p>note:<input type="text" name="note"/></p><p><input type="submit" value="修改"/></p> </form></body> </html>
View Code
测试
demo:https://github.com/weibanggang/springboothibernate.git
简单使用Spring Boot+JpaRepository+hibernate搭建项目相关推荐
- Spring Boot Restful框架搭建和使用【持续更新中】
2019独角兽企业重金招聘Python工程师标准>>> 1 Spring Boot Restful框架搭建 项目源码地址 2 SpringBoot框架使用技巧记录 2.1 pagea ...
- spring boot:从零开始搭建一个项目 - day 5 Mybatis plus代码自动生成器
spring boot:从零开始搭建一个项目 - day 5 Mybatis plus代码自动生成器 一.Mybatis plus代码自动生成器 1.引入配置 2.创建Controller 3.执行m ...
- spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2
spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2 一.logback.xml配置日志美化 二.集成swagger2 1.引入依赖 2.编写配置文件 ...
- spring boot:从零开始搭建一个项目 - day8 实现jwtToken验证
锻炼不就是为了吃更多好吃的吗 --刚去完健身房然后开了包薯片=-= spring boot:从零开始搭建一个项目 - day8 实现jwtToken验证 一.生成token 二.重写拦截器 咳,书接上 ...
- spring boot:从零开始搭建一个项目 - day 7 springboot devtools热加载+MybatisPlus配置+kisso从入门到放弃
spring boot:从零开始搭建一个项目 - day 7 springboot devtools热加载+MybatisPlus配置+kisso从入门到放弃 一.springboot devtool ...
- Spring Boot + Thymeleaf 创建web项目
本篇文章将引导你创建一个简单的Spring Boot web程序示例,涉及到的组件有:嵌入的Tomcat + Thymeleaf 模板引擎,可执行的 JAR 文件包. 开发工具: 1.Spring B ...
- sm4 前后端 加密_这7个开源的Spring Boot前后端分离项目整理给你
来源|公众号:江南一点雨 前后端分离已经开始逐渐走进各公司的技术栈,不少公司都已经切换到前后端分离开发技术栈上面了,因此建议技术人学习前后端分离开发以提升自身优势.同时,也整理了 7 个开源的 Spr ...
- Spring Boot + JSP 创建web项目
虽然Spring Boot的官网不推荐使用JSPs,但是本篇文章还是带你实现Spring Boot + JSP创建一个简单的web项目.想要用Spring Boot + Thymeleaf实现web项 ...
- java spring hiberate_Java程序员:Spring Boot和Hibernate一起使用的技巧
Hibernate不需要多介绍,它是Java中最受欢迎的ORM.同样,Spring Boot是功能最强大且易于使用的框架.本文并不是描述一些关于Hibernate或Spring Boot的用法,因为有 ...
- spring boot开发环境搭建
软件152 程永绩 1.什么是springboot: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程. 该框架使用了特定的方式 ...
最新文章
- 图片剪切空指针崩溃问题在Android 6.0系统出现
- 转:c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段
- web service方法进行全文检索_SpringMVC(Web应用)配置教程终章项目实战
- Restful framework【第七篇】权限组件
- 科研实习 | 中国科学院深圳先进技术研究院徐坤老师课题组招聘客座实习生
- 【STM32】定时器相关函数和类型
- 使用URL在线语音合成
- android点击灰色背景图片,android button按键失去焦点和点击后改变背景图片
- 903计算机技术综合基础,北大903计算机技术综合基础考研真题、资料、参考书
- vrrp协议原理与应用
- Spring 经典高频面试题
- POJ 1088 滑雪 (动规)
- 设计模式-结构型模式(读书笔记)
- 简单Git入门本地仓库同步到远程GitHub仓库
- Asp.net core 中实现AOP面向切面编程
- DS18B20驱动详解(蓝桥杯单片机)
- 斐讯路由器使用说明,校园网破解,breed控制台,华硕固件
- 阿尔兹海默症AD最新研究进展(2021年7月)
- 微信小程序之PHP后端服务器数据库的连接处理
- 微服务架构之服务网关
热门文章
- 从零开始实现Adam优化算法
- android 屏蔽焦点,android – 如何在视图失去焦点时屏蔽EditText中的文本.
- java当前类路径_Java取得当前类的路径
- java制作大富翁游戏_JAVA大富翁游戏的设计+流程图+总结体设计图-论文.doc
- @Transactional注解属性(2)
- Unity Animation和Animator的区别
- php该怎么下载文件,php怎么实现下载文件?
- javascript 使用drop元素实现拖动(ondragstart、ondrag、 ondragend、ondragenter,ondragover、ondragleave、ondrop )
- html中label中的for属性
- 辗转相减法的发展应用-最大比例