spring boot xml与dao 映射关系
时间: 2023-07-31 07:08:25 浏览: 93
在 Spring Boot 中,我们可以使用 MyBatis 或者 Hibernate 等 ORM 框架来进行数据库操作。下面分别介绍一下这两种框架在 Spring Boot 中的使用方法。
1. 使用 MyBatis
MyBatis 是一种半自动化的 ORM 框架,它与 Spring Boot 集成非常简单。
第一步,我们需要在 pom.xml 中添加 MyBatis 和 MyBatis-Spring 的依赖:
```xml
<dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
</dependencies>
```
第二步,我们需要在 application.properties 文件中配置数据库连接信息:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
第三步,我们需要编写 MyBatis 的映射文件。例如,我们有一个 User 表,对应的实体类为 User,那么我们可以在 resources/mapper 目录下创建 UserMapper.xml 文件,包含如下内容:
```xml
<mapper namespace="com.example.demo.mapper.UserMapper">
<select id="getUserById" parameterType="long" resultType="com.example.demo.entity.User">
select * from user where id = #{id}
</select>
<insert id="insertUser" parameterType="com.example.demo.entity.User">
insert into user(id, name, age) values (#{id}, #{name}, #{age})
</insert>
</mapper>
```
第四步,我们需要编写 UserMapper 接口,用于调用 MyBatis 的映射文件。例如:
```java
@Repository
public interface UserMapper {
User getUserById(long id);
void insertUser(User user);
}
```
第五步,我们需要在 Spring Boot 应用程序中注入 UserMapper,并使用它进行数据库操作。例如:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserById(long id) {
return userMapper.getUserById(id);
}
@Override
public void insertUser(User user) {
userMapper.insertUser(user);
}
}
```
2. 使用 Hibernate
Hibernate 是一种全自动化的 ORM 框架,它与 Spring Boot 集成也非常简单。
第一步,我们需要在 pom.xml 中添加 Hibernate 的依赖:
```xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.5.4</version>
</dependency>
</dependencies>
```
第二步,我们需要在 application.properties 文件中配置数据库连接信息:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
```
第三步,我们需要编写实体类,用于映射数据库表。
```java
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String name;
private int age;
// getters and setters
}
```
第四步,我们需要编写 UserRepository 接口,用于调用 Hibernate 进行数据库操作。例如:
```java
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
```
第五步,我们需要在 Spring Boot 应用程序中注入 UserRepository,并使用它进行数据库操作。例如:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public User getUserById(long id) {
return userRepository.findById(id).orElse(null);
}
@Override
public void insertUser(User user) {
userRepository.save(user);
}
}
```
阅读全文