一步步教你使用boot读写mysql数据(boot读写mysql)
一步步教你使用Boot读写MySQL数据
如果你是一位开发人员,并且使用Spring Boot来构建应用程序,你经常需要与数据库交互。MySQL是一个流行的关系型数据库管理系统,绝大部分开发人员都会使用它来存储和管理数据。那么,如何使用Spring Boot读写MySQL数据呢?本文将为你提供详细的步骤。
第一步:创建Spring Boot工程
你需要创建一个Spring Boot工程,可以使用Maven或Gradle构建。在pom.xml或build.gradle文件中,添加以下依赖项:
“`xml
org.springframework.boot
spring-boot-starter-data-jpa
mysql
mysql-connector-java
```groovy// build.gradle
dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'mysql:mysql-connector-java'}
这些依赖项使你能够使用Spring Data JPA来访问MySQL数据库。
第二步:创建实体类
在开始进行数据库操作之前,你需要创建一个实体类来映射数据库中的表。例如,假设你在MySQL数据库中有一个名为“user”的表,它有以下结构:
| Field | Type | Null | Key | Extra |
| ——| —–| —–| —-| ——|
| id | int(11) | NO | PRI | auto_increment |
| name | varchar(255) | YES | | |
| age | int(11) | YES | | |
| address | varchar(255) | YES | | |
那么,你需要创建一个对应的实体类:
“`java
@Entity
@Table(name = “user”)
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Integer age;
private String address;
// 省略getter/setter方法
}
这里使用了JPA注解来配置实体类,表明实体类与表“user”相对应,同时指定了id字段是自动增长的主键。
第三步:配置应用程序
接下来,你需要在应用程序中配置JPA和MySQL的连接信息。在application.properties或application.yml中添加以下配置:
```yaml# application.yml
spring: datasource:
url: jdbc:mysql://localhost:3306/test username: root
password: root jpa:
hibernate: ddl-auto: update
在这个配置中,指定了数据库的连接信息,包括URL、用户名和密码。然后,使用JPA的“ddl-auto”属性来控制数据库模式的创建和更新。
第四步:创建数据访问对象
在Spring Boot中,你可以使用Spring Data JPA来定义数据访问对象(DAO)。数据访问对象是一个接口,Spring Data JPA将为你创建实现。在dao包中创建一个UserRepository接口:
“`java
@Repository
public interface UserRepository extends JpaRepository {
List findByName(String name);
List findByAgeGreaterThan(int age);
}
这个接口继承了JpaRepository,其中User是实体类的类名,Long是主键的类型。你还可以在接口中添加一些自定义方法,例如,按名称查找用户和按年龄查找用户。
第五步:测试代码
让我们在JUnit测试中编写一些代码来测试使用Spring Boot读写MySQL数据的功能。在test包中创建一个名为UserRepositoryTest的测试类:
```java@RunWith(SpringRunner.class)
@SpringBootTestpublic class UserRepositoryTest {
@Autowired private UserRepository userRepository;
@Test public void testSave() {
User user = new User(); user.setName("张三");
user.setAge(18); user.setAddress("北京市");
userRepository.save(user); assertNotNull(user.getId());
} @Test
public void testFindByName() { List userList = userRepository.findByName("张三");
assertEquals(userList.size(), 1); }
@Test public void testFindByAgeGreaterThan() {
List userList = userRepository.findByAgeGreaterThan(18);
assertEquals(userList.size(), 0); }
}
这里使用了Spring Boot的自动配置,测试类继承了SpringJUnit4ClassRunner,这样就启用了Spring的应用程序上下文,并且在测试中注入了UserRepository接口。在测试方法中,我们先保存了一个用户,然后使用findByName和findByAgeGreaterThan方法查询用户。
运行测试用例,你应该能看到输出。
至此,你已经学会了使用Spring Boot读写MySQL数据的基本知识,可以在应用程序中使用它来存储和管理数据。祝你好运!