springboot如何实现实现sql基础操作
时间: 2023-06-13 09:08:25 浏览: 69
SpringBoot可以使用JdbcTemplate、MyBatis等框架来实现SQL基础操作。
1. JdbcTemplate
JdbcTemplate是Spring框架提供的一个简化数据库操作的工具类,可以使用它来执行SQL语句、查询结果集和更新数据等操作。
首先,在pom.xml文件中加入以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
```
然后,在application.properties文件中配置数据库连接信息:
```
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
接下来,创建一个DAO(数据访问对象)类,使用JdbcTemplate来执行SQL语句:
```java
@Repository
public class UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public User findById(long id) {
String sql = "SELECT * FROM user WHERE id = ?";
return jdbcTemplate.queryForObject(sql, new Object[]{id}, new BeanPropertyRowMapper<>(User.class));
}
public List<User> findAll() {
String sql = "SELECT * FROM user";
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
}
public void save(User user) {
String sql = "INSERT INTO user(name, age) VALUES (?, ?)";
jdbcTemplate.update(sql, user.getName(), user.getAge());
}
public void update(User user) {
String sql = "UPDATE user SET name=?, age=? WHERE id=?";
jdbcTemplate.update(sql, user.getName(), user.getAge(), user.getId());
}
public void delete(long id) {
String sql = "DELETE FROM user WHERE id=?";
jdbcTemplate.update(sql, id);
}
}
```
2. MyBatis
MyBatis是一款优秀的持久层框架,可以使用它来实现对数据库的基本操作。
首先,在pom.xml文件中加入以下依赖:
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
```
然后,在application.properties文件中配置数据库连接信息:
```
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
接下来,创建一个Mapper接口,定义SQL语句:
```java
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(@Param("id") long id);
@Select("SELECT * FROM user")
List<User> findAll();
@Insert("INSERT INTO user(name, age) VALUES (#{name}, #{age})")
void save(User user);
@Update("UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}")
void update(User user);
@Delete("DELETE FROM user WHERE id=#{id}")
void delete(long id);
}
```
最后,在Service类中调用Mapper接口中的方法:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User findById(long id) {
return userMapper.findById(id);
}
public List<User> findAll() {
return userMapper.findAll();
}
public void save(User user) {
userMapper.save(user);
}
public void update(User user) {
userMapper.update(user);
}
public void delete(long id) {
userMapper.delete(id);
}
}
```
这样就可以实现基本的SQL操作了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)