前言
前面一篇讲了基础的 从 0 开始创建一个 SpringBoot 项目(Mac 环境),接下来就是基础业务中最常见的,与数据库之间的交互了,当然,这里主要讲的还是关系型数据库。
环境
数据库选择
数据库的选择有很多种,mysql、oracle、postgre 等,哪个习惯使用哪个。决定使用哪个数据库之后,可以在新建工程时的 Dependencies 中选择对应的数据库支持。
数据库操作选择
数据库操作最常用的两个就是 JPA 与 Mybatis,在新建工程的时候,也可以选择对应的库直接生成环境,同时,两个库并不冲突,可以同时存在,同时使用
数据库连接测试
可先在右侧的 databse 测试链接数据库
使用
JPA
1. 环境配置
需要打开 resources/application.properties 文件
并增加四个最基本的数据库信息
key | 内容 |
---|---|
spring.datasource.driver-class-name | 驱动名称,mysql使用 com.mysql.cj.jdbc.Driver |
spring.datasource.url | 数据库路径,配置对应的数据库路径与参数即可 |
spring.datasource.username | 连接数据库时候使用的用户名 |
spring.datasource.password | 连接数据库时用户名对应的密码 |
2. 代码编写
- 生成对应的数据库与表结构
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 ,再检查数据库是否有生成新的用户信息,如果有,则说明成功。