Spring 环境下 JPA 的实现

53 阅读2分钟

前言

前面一篇讲了基础的 从 0 开始创建一个 SpringBoot 项目(Mac 环境),接下来就是基础业务中最常见的,与数据库之间的交互了,当然,这里主要讲的还是关系型数据库。

环境

数据库选择

数据库的选择有很多种,mysql、oracle、postgre 等,哪个习惯使用哪个。决定使用哪个数据库之后,可以在新建工程时的 Dependencies 中选择对应的数据库支持。

image.png

数据库操作选择

数据库操作最常用的两个就是 JPA 与 Mybatis,在新建工程的时候,也可以选择对应的库直接生成环境,同时,两个库并不冲突,可以同时存在,同时使用

image.png

数据库连接测试

可先在右侧的 databse 测试链接数据库

image.png

image.png

使用

JPA

1. 环境配置

需要打开 resources/application.properties 文件

image.png

并增加四个最基本的数据库信息

image.png

key内容
spring.datasource.driver-class-name驱动名称,mysql使用 com.mysql.cj.jdbc.Driver
spring.datasource.url数据库路径,配置对应的数据库路径与参数即可
spring.datasource.username连接数据库时候使用的用户名
spring.datasource.password连接数据库时用户名对应的密码
2. 代码编写

  1. 生成对应的数据库与表结构

image.png 2. 生成一个数据库对应的实例类

@Entity
@Data
@Table(name = "user")
public class User {
    @Column(name = "username")
    private String userName;
    private String password;

    @Id
    @GeneratedValue(generator="system_uuid")
    @GenericGenerator(name="system_uuid",strategy="uuid")
    private String uin;
}
@GeneratedValue(generator="system_uuid")
@GenericGenerator(name="system_uuid",strategy="uuid") 这两句是为了随机生成 uuid 格式的用户id

3. 生成一个实例类对应的Repository

public interface UserRepository extends JpaRepository<User, Long>, JpaSpecificationExecutor {
}

4. 在对应的位置生成 repository 对象

@SpringBootApplication
@RestController
public class LogindemoApplication {

    @Autowired
    private UserRepository userRepository;

    public static void main(String[] args) {
        SpringApplication.run(LogindemoApplication.class, args);
    }

    @ResponseBody
    @GetMapping("/")
    public User home() {
        return "hello world";
    }
}
3. 测试验证

修改代码

@SpringBootApplication
@RestController
public class LogindemoApplication {

    @Autowired
    private UserRepository userRepository;

    public static void main(String[] args) {
        SpringApplication.run(LogindemoApplication.class, args);
    }

    @ResponseBody
    @GetMapping("/")
    public User home() {
        User user = new User();
        user.setPassword("123457");
        user.setUserName("admin");
        userRepository.save(user);
        return user;
    }
}

在运行之后,访问 localhost:8080 ,再检查数据库是否有生成新的用户信息,如果有,则说明成功。