日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Springboot和Jpa實現學生CRUD操作代碼實例

瀏覽:51日期:2023-05-27 13:22:53

前期準備

使用idea新建個SpringBoot項目

在數據庫中建student表

Springboot和Jpa實現學生CRUD操作代碼實例

建包

Springboot和Jpa實現學生CRUD操作代碼實例

1.編寫entity包下實體類Student

(一個Javabean規范)

package com.example.stu.kudestu.stu.entity;import javax.persistence.*;@Entity@Table(name = 'student')//@Entity 應用在實體類上 @Table(name = 'student') 應用在實體類上,并且name屬性為數據庫表名public class Student { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) //ID自增 private Integer id; private String name; private int age; private String sex; @Override public String toString() { return 'Student{' +'id=' + id +', name=’' + name + ’’’ +', age=' + age +', sex=’' + sex + ’’’ +’}’; } public Student() { } 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 int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; }}

2.編寫dao層StudentDao類

package com.example.stu.kudestu.stu.dao;import com.example.stu.kudestu.stu.entity.Student;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.Query;import org.springframework.data.repository.query.Param;import java.util.List;public interface StudentDao extends JpaRepository<Student,Integer> {//<Student,Integer>兩個參數實體類和主鍵類型 Student findStuById(Integer id); @Query(name='findStuByName',nativeQuery = true,value = 'select * from student where name=:name ') List<Student> findStuByName(@Param('name') String name);}

3.編寫service層類StudentService,面象接口

import com.example.stu.kudestu.stu.entity.Student;import org.springframework.data.domain.Page;import java.util.List;public interface StudentService { Student save(Student student);//添加學生 Student update(Student student);//修改 void delete(Integer id);//通過id刪除學生 Student findStuById(Integer id);//通過ID查找學生,接口中沒有此方法,在StudentDao接口創建 List<Student> findStuByName(String name);//通過學生姓名查找,在StudentDao接口創建 /** * 分頁查詢所有數據 * @param page //當前頁 * @param pageSize //每頁記錄數 * @return */ Page<Student> findAll(int page,int pageSize);}

在service對接口實現

import org.springframework.stereotype.Service;import java.util.List;@Servicepublic class StudentServiceimpl implements StudentService { @Autowired//用于類中的屬性注入 private StudentDao studentDao; @Override public Student save(Student student) { return studentDao.save(student); } @Override public Student update(Student student) { return studentDao.save(student); } @Override public void delete(Integer id) { studentDao.deleteById(id); } @Override public Student findStuById(Integer id) { return studentDao.findStuById(id); } @Override public List<Student> findStuByName(String name) { return studentDao.findStuByName(name); } @Override public Page<Student> findAll(int page,int pageSize) { Pageable pageable= PageRequest.of(page,pageSize); return studentDao.findAll(pageable); }}

4.編寫Controller層StudentController類

package com.example.stu.kudestu.stu.controller;import com.example.stu.kudestu.stu.dao.StudentDao;import com.example.stu.kudestu.stu.entity.Student;import com.example.stu.kudestu.stu.service.StudentService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.domain.Page;import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletResponse;import java.util.List;@RestController /*應用在Controller層的類上面@RequestMapping('/s')public class StudentController { @Autowired//依賴注入 private StudentService studentService; /** * 添加學生 * @param student 要添加學生對象 * @return */ @PostMapping('/add') /*@PostMapping 映射一個POST請求 Spring MVC新特性 提供了對Restful風格的支持@GetMapping,處理get請求 @PostMapping,處理post請求 @PutMapping,處理put請求 @DeleteMapping,處理delete請求*/ public Student save(Student student){ return studentService.save(student); } /** * 修改學生 * @param student */ @PostMapping('/update') public Student update(Student student){ return studentService.save(student); } /** * 刪除學生 * @param id 要刪除學生id * @return */ @GetMapping('/del/{id}') public String del(@PathVariable int id){ studentService.delete(id); return 'yes'; } @GetMapping('/findByName/{name}') public List<Student> findByName(@PathVariable String name){ return studentService.findStuByName(name); } @GetMapping('/query') public Page<Student> findByPage(Integer page , HttpServletResponse response){ response.setHeader('Access-Control-Allow-Origin','*'); //解決跨域請求 if(page==null||page<=0){ page=0; }else{ page-=1; } return studentService.findAll(page,5); }}

@RestController

應用在Controller層的類上面,@RestController注解相當于@ResponseBody + @Controller合在一起的作用,同時返回的數據為json數據

使用@Controller 注解,在對應的方法上,視圖解析器可以解析return 的jsp,html頁面,并且跳轉到相應頁面若返回json等內容到頁面,則需要加@ResponseBody注解

@PostMapping(value = '/add')等價于@RequestMapping(value = '/add',method = RequestMethod.POST)

5.利用HBuilder進行前端編寫

Springboot和Jpa實現學生CRUD操作代碼實例

Jquery.js內容到https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js復制即可

主頁面:index.html

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <title></title> <script src='http://m.b3g6.com/bcjs/js/jquery.js' type='text/javascript' charset='utf-8'></script><script type='text/javascript'> var page = 1; var tp = 0; $(function(){showData(); }); function upPage(){if(page>1){ page--; showData();} } function downPage(){if(page<tp){ page++; showData();} } function showData(){$.ajax({ url:’http://localhost:8888/stu/s/query?page=’+page, success:function(result){var rel = result.content; tp = result.totalPages;var htmlStr = '<table width=’80%’ algin=’center’ border=’1’>'+ '<tr><th>ID</th><th>姓名</th><th>年齡</th><th>性別</th><th>操作</th></tr>';for(var i=0;i<rel.length;i++){ var stu = rel[i]; htmlStr += '<tr><td>'+stu.id+'</td><td>'+stu.name+'</td><td>'+stu.age+'</td><td>'+stu.sex+'</td>'+ '<td><a href=’’>編輯</a>&nbsp;<a href=’http://localhost:8888/stu/s/del/'+stu.id+'’>刪除</a></td></tr>'; }htmlStr += '</table>';$('#show').html(htmlStr); }}); } </script> </head> <body><h1 style='text-align: center;'>學生管理系統</h1> <hr> <a href='http://m.b3g6.com/bcjs/add.html' rel='external nofollow' >添加學生</a><div id='show'> </div><a href='javascript:upPage();' rel='external nofollow' >上一頁</a>&nbsp;&nbsp;<a href='javascript:downPage();' rel='external nofollow' >下一頁</a> </body></html>

頁面效果

Springboot和Jpa實現學生CRUD操作代碼實例

添加學生的頁面信息add.html

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <title></title> </head> <body> <h1>添加學生</h1> <hr> <form action='http://localhost:8888/stu/s/add' method='post'> <p>姓名:<input type='text' name='name' /> </p> <p>年齡:<input type='text' name='age' /> </p> <p>性別:<input type='radio' name='sex' value='男' checked />男<input type='radio' name='sex' value='女' />女 </p> <p><input type='submit' value='保存' /> </p> </form> </body></html>

頁面效果

Springboot和Jpa實現學生CRUD操作代碼實例

如何利用分頁

直接調用Dao接口的父類JPA接口的分頁方法

在Service接口層定義:

/** * 分頁查詢所有數據 * @param page * @param pageSize * @return */ Page<Student> findAll(int page,int pageSize);

Service實現:

public Page<Student> findAll(int page,int pageSize) { Pageable pageable= PageRequest.of(page,pageSize); return studentDao.findAll(pageable); }

Controller層:

@GetMapping('/query') public Page<Student> findByPage(Integer page , HttpServletResponse response){ response.setHeader('Access-Control-Allow-Origin','*'); if(page==null||page<=0){ page=0; }else{ page-=1; } return studentService.findAll(page,5); }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
中文字幕日本一区| 日韩.com| 久久国产电影| 伊人久久在线| 亚洲最新无码中文字幕久久| 精品亚洲免a| 国产精品久久久久久久久免费高清| 免费一级片91| aa国产精品| 午夜宅男久久久| 999精品色在线播放| 欧美sss在线视频| 久久精品免费一区二区三区 | 久久精品 人人爱| 青青草国产成人99久久| 日本99精品| 日韩av一二三| 国产精品一区二区三区www| 国产日韩欧美中文在线| 国产精品久久久久久久久久久久久久久| 欧美日一区二区在线观看| 久久精品999| 国产精品videossex久久发布| 国产精品高清一区二区| 久久av中文| se01亚洲视频 | 精品精品国产三级a∨在线| 国产一区二区三区四区大秀 | 麻豆网站免费在线观看| 韩国精品主播一区二区在线观看| 亚洲成人二区| 99视频一区| 深夜日韩欧美| 国产精品夜夜夜| 欧美精品第一区| 老鸭窝一区二区久久精品| 国产在线看片免费视频在线观看| 免费观看久久av| 中文字幕av一区二区三区四区| 青草综合视频| 久久精品九色| 一区福利视频| 欧美视频久久| 色一区二区三区| 亚洲福利久久| 日本不卡不码高清免费观看 | 久久婷婷av| 亚洲v天堂v手机在线| 麻豆国产精品一区二区三区| 激情自拍一区| 日韩精品视频一区二区三区| 国产成人调教视频在线观看| 黄色日韩在线| 精品久久99| 国产亚洲精品v| 国产精品最新自拍| 亚洲91视频| 欧美久久亚洲| 1000部精品久久久久久久久| 免费不卡在线观看| 麻豆精品新av中文字幕| 久久精品免费一区二区三区| 蜜桃视频一区二区三区| 免费日韩成人| 先锋影音久久久| 麻豆精品新av中文字幕| 亚洲成人日韩| 久久久久伊人| 日韩中文字幕91| 国产拍在线视频| 亚州精品视频| 欧美日韩国产观看视频| 日韩高清在线不卡| 久久三级视频| 亚洲日韩中文字幕一区| www在线观看黄色| 日本不卡一区二区| 欧美日韩国产高清电影| 首页亚洲欧美制服丝腿| 国产精品99一区二区| 久久中文字幕av| 欧美日韩视频免费观看| 午夜精品成人av| 国产精品v亚洲精品v日韩精品| 99久久亚洲精品| 免费在线观看一区二区三区| 欧美一级一区| 亚洲在线成人| 国产日韩欧美在线播放不卡| 在线免费观看亚洲| 夜夜嗨网站十八久久| 久久久久国产| 国产精品66| 久久免费高清| а√在线中文在线新版| 夜夜嗨网站十八久久| 亚洲国产欧美日本视频| 国产色播av在线| 另类欧美日韩国产在线| 播放一区二区| 亚洲欧洲一区| 夜夜精品视频| 日韩av一级片| 国产精品xxx在线观看| 日韩大片在线| 精品色999| 国产亚洲一区二区手机在线观看| 91超碰国产精品| 国产极品一区| 欧美日韩a区| 日韩亚洲精品在线| 美女国产一区二区三区| 日韩中文字幕1| 天堂网av成人| 麻豆视频一区二区| 亚洲精品美女91| 欧洲毛片在线视频免费观看| 国产成人在线中文字幕| 国产精品美女午夜爽爽| 热久久免费视频| 日本在线精品| 日韩久久视频| 欧美成a人国产精品高清乱码在线观看片在线观看久| 婷婷综合电影| 亚洲综合在线电影| 精品资源在线| 在线看片日韩| 欧美日韩亚洲一区| 日本色综合中文字幕| 四虎国产精品免费观看| 亚洲小说春色综合另类电影| 婷婷亚洲成人| 中文另类视频| 色综合视频一区二区三区日韩| 五月天激情综合网| 国产精品视频一区二区三区综合 | 国产一区二区三区久久| 日韩网站中文字幕| 国产一区二区三区日韩精品| 亚洲a在线视频| а√天堂8资源中文在线| 国产粉嫩在线观看| 91精品亚洲| 日韩美女国产精品| 国产麻豆一区二区三区 | 亚洲一区日韩| 精品视频免费| 性欧美videohd高精| 精品美女视频| 久久黄色影院| 精品在线91| 亚洲精品大片| 国产精品一区二区av交换| 91精品啪在线观看国产爱臀| 日韩欧美久久| 六月丁香综合在线视频| 精品网站999| 精品日韩一区| 国产不卡精品在线| 国产综合视频| 国产精品美女久久久| 视频在线观看91| 亚洲色图网站| 伊人久久大香线蕉av不卡| 免费av一区| 婷婷综合电影| 麻豆久久久久久| 欧美~级网站不卡| 久久午夜精品| 欧美a在线观看| av资源中文在线| 久久精品国产68国产精品亚洲| 亚洲国产欧美日本视频| 日韩中文字幕一区二区三区| 国产伦精品一区二区三区视频 | 久久中文字幕导航| 日韩中文字幕高清在线观看| 水野朝阳av一区二区三区| 久久国产麻豆精品| 国产精品毛片aⅴ一区二区三区| 欧洲av不卡| 青青草视频一区| 福利一区二区免费视频| 亚洲资源av| 国产欧美日韩精品高清二区综合区| 电影亚洲精品噜噜在线观看| 午夜国产精品视频免费体验区| 日韩欧美中文字幕一区二区三区| 国产高清视频一区二区| 亚洲午夜久久久久久尤物| 高清一区二区三区| 在线免费观看亚洲| 久久影视三级福利片| 久久高清国产| 美女视频网站久久| 亚洲少妇一区| 福利在线免费视频| 一区二区三区国产在线| 丝袜美腿诱惑一区二区三区| 蜜桃久久av一区|