1.首先在pom.xml文件中导入jar包
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.0.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2.在resources下创建application.yml文件,在里面设置数据库连接,如下:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
username: root
password: ROOT
mvc:
static-path-pattern: /static/**
server:
servlet:
context-path: /s
3.创建UserDao接口,继承JpaRepository接口,如下所示:
public interface UserDao extends JpaRepository<User,Integer> {
}
4.创建UserController类,在类中声明一个成员属性UserDao,通过UserDao调用方法,实现CRUD
(1)查询 queryAll()
(2)添加 save
(3)修改
User user = userDao.getOne(id);
user.setName(name);
return userDao.save(user);
(4)删除 deleteById
具体实现代码如下:
package com.boot.bootdemo.controller;
import com.boot.bootdemo.dao.UserDao;
import com.boot.bootdemo.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserDao userDao;
@RequestMapping("/index")
public String index(){
return "/index";
}
@RequestMapping("/queryAll")
@ResponseBody
public List<User> query(){
return userDao.findAll();
}
@RequestMapping("/update/{id}/{name}")
@ResponseBody
public User update(@PathVariable("id") Integer id, @PathVariable("name") String name){
User user = userDao.getOne(id);
user.setName(name);
return userDao.save(user);
}
@RequestMapping("/del/{id}")
@ResponseBody
public void del(@PathVariable("id") Integer id){
userDao.deleteById(id);
}
@RequestMapping("/add")
@ResponseBody
public User add(User user){
return userDao.save(user);
}
//自定义方法
@RequestMapping("/queryAge/{age}")
@ResponseBody
public List<User> findByAge(@PathVariable("age") Integer age){
return userDao.queryByAge(age);
}
}
5.UserDao自定义方法
UserDao中代码实现
public interface UserDao extends JpaRepository<User,Integer> {
public List<User> queryByAge(Integer age);
}
UserController中代码实现
//自定义方法
@RequestMapping("/queryAge/{age}")
@ResponseBody
public List<User> findByAge(@PathVariable("age") Integer age){
return userDao.queryByAge(age);
}