不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的。SpringBoot和SpringData JPA的好处我就不说了,当时我学习的时候也粗略做过笔记,有兴趣的同学可以去看看
一、完善pom文件
现在pom文件只有SpringBoot和LomBok的依赖,想要完成CURD的功能,我们需要用到Spring Web模块、Spring Data JPA以及MySQL驱动依赖,所以我们得在pom文件下加入这些依赖:
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-data-jpa
mysql
mysql-connector-java
二、配置yml文件
既然我们用到了SpringData JPA和MySQL,我们得为其进行配置最基础的信息。比如说数据库的用户名和密码,相对应的库,以及SpringData JAP的策略。
#服务端容器的配置
server:
port: 8887
#数据库配置
spring:
datasource:
username: 填写自己的
password: 填写自己的
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://填写自己的机器:3306/填写自己的库?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
# JPA配置
jpa:
hibernate:
ddl-auto: update
show-sql: true
# formatSQL得这样写
properties:
hibernate:
format_sql: true
三 User实体图如下:
注意 @getter @setter 注解导入的是Lombok包
四、写一个UserRepository
UserRepository是dao层的东西了,相当于UserDao/UserMapper,只是叫法不一样而已。比如在Struts2喜欢将名字取成xxxAction,而在SpringMVC喜欢将名字取成xxxxController。
一般地,我们将UserRepository继承JpaRepository就可以有对应的增删改查方法:
JpaSpecificationExecutor是模糊查询和分页要继承的
import com.zhongfucheng.example.demo.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* UserDao 操作数据库
* @author ozc
* @version 1.0
*/
public interface UserRepository extends JpaRepository {
}
五、写一个UserService
我们就查user表所有的记录出来就好了,代码如下:
注意加上 @Service 注解 让能扫描到Service类 我写的是分页加模糊查询的方法 小白可以先只实现 查询方法
// 接口
public interface UserService {
List getAllUser();
}
// 实现
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public List getAllUser() {
return userRepository.findAll();
}
}
六、写一个UserController
UserController调用一下service的方法,看是否能返回成功,如果能返回成功,那说明我们的环境已经是ok的了。
UserController代码如下:
@RestController
public class UserController {
@Autowired
private UserService userService;
/**
* 得到所有用户
*/
@GetMapping(value = "/user", produces = {"application/json;charset=UTF-8"})
public void getAllUser () {
List allUser = userService.getAllUser();
for (User user : allUser) {
System.out.println(user);
}
}
}
到此 增删改查就编码完成了 大家可以测试一下 localhost:8566/redis/selectuserinfo/1/2
路径写上自己定义的!