当我们使用Spring Boot框架时,它可以自动为我们配置很多非常常用的依赖,其中就包括MyBatis和IOC容器。下面给出一个使用Spring Boot、MyBatis和IOC技术创建用户管理网站的简单示例:
1. 确保在您的系统中已经安装了Maven和Java 1.8。
2. 创建Spring Boot项目
mvn spring-boot:run
3. 添加以下依赖项到pom.xml文件中
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.0.1
<>
org.springframework.boot
spring-boot-starter-web
4. 创建数据库和数据表,插入一些初始数据
CREATE DATABASE IF NOT EXISTS `user_db` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `user_db`;CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email_UNIQUE` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
5. 使用以下代码创建User实体类,使用Lombok插件简化代码编写
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int id private String name;
private String email;
private String password;
}
6. 创建UserMapper接口,使用MyBatis注解映射SQL语句
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE email = #{email}")
User findByEmail(@Param("email") String email);@Select("SELECT * FROM user")
ListfindAll(); @Insert("INSERT INTO user(name, email, password) VALUES(#{name}, #{email}, #{password})")
void save(User user);@Update("UPDATE user SET name=#{name}, password=#{password} WHERE email=#{email}")
void update(User user);@Delete("DELETE FROM user WHERE id=#{id}")
void deleteById(Integer id);
}
7. 创建UserService服务类,实现用户数据的增删改查操作
@Service
public class UserService {
@Autowired
private UserMapper userMapper;public User findByEmail(String email) {
return userMapper.findByEmail(email);
}public List
findAll() {
return userMapper.findAll();
}public void save(User user) {
userMapper.save(user);
}public void update(User user) {
userMapper.update(user);
}public void deleteById(Integer id) {
userMapper.deleteById(id);
}
}
8. 在Controller中实现用户管理的接口
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;@GetMapping("/{email}")
public User findByEmail(@PathVariable String email) {
return userService.findByEmail(email);
}@GetMapping
public ListfindAll() {
return userService.findAll();
}@PostMapping
public void save(@RequestBody User user) {
userService.save(user);
}@PutMapping
public void update(@RequestBody User user) {
userService.update(user);
}@DeleteMapping("/{id}")
public void deleteById(@PathVariable Integer id) {
userService.deleteById(id);
}
}
9. 运行Spring Boot应用程序,访问以下接口:
```
http://localhost:8080/users
```
可以看到所有添加进来的用户信息列表。
```
http://localhost:8080/users/{email}
```
可以看到通过email查询用户的详细信息。
```
http://localhost:8080/users
```
可以添加用户。
```
http://localhost:8080/users
```
可以修改用户信息。
```
http://localhost:8080/users/{id}
```
可以删除指定ID的用户信息。