📁 示例项目结构(基于 Maven)
user-management/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/example/usermanagement/
│ │ │ ├── controller/
│ │ │ │ └── UserController.java
│ │ │ ├── service/
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl/
│ │ │ │ └── UserServiceImpl.java
│ │ │ ├── mapper/
│ │ │ │ └── UserMapper.java
│ │ │ ├── entity/
│ │ │ │ └── User.java
│ │ │ └── UserManagementApplication.java
│ │ ├── resources/
│ │ │ ├── mapper/
│ │ │ │ └── UserMapper.xml
│ │ │ ├── application.yml
│ │ │ └── logback-spring.xml (可选)
│ └── test/
│ └── java/
│ └── com/example/usermanagement/
│ └── UserServiceTests.java
├── pom.xml
各部分说明:
🧱 User.java(实体类)
package com.example.usermanagement.entity;
public class User {
private Integer id;
private String name;
private String email;
// Getters & Setters
}
🧩 UserMapper.java(Mapper 接口)
package com.example.usermanagement.mapper;
import com.example.usermanagement.entity.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserMapper {
User findById(Integer id);
List<User> findAll();
int insert(User user);
int update(User user);
int deleteById(Integer id);
}
📄 UserMapper.xml(XML 映射文件)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.usermanagement.mapper.UserMapper">
<select id="findById" resultType="com.example.usermanagement.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
<select id="findAll" resultType="com.example.usermanagement.entity.User">
SELECT * FROM user
</select>
<insert id="insert">
INSERT INTO user(name, email) VALUES (#{name}, #{email})
</insert>
<update id="update">
UPDATE user SET name=#{name}, email=#{email} WHERE id=#{id}
</update>
<delete id="deleteById">
DELETE FROM user WHERE id=#{id}
</delete>
</mapper>
🧠 UserService.java 和 UserServiceImpl.java
public interface UserService {
User getUserById(Integer id);
List<User> getAllUsers();
void addUser(User user);
void updateUser(User user);
void deleteUser(Integer id);
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(Integer id) {
return userMapper.findById(id);
}
public List<User> getAllUsers() {
return userMapper.findAll();
}
public void addUser(User user) {
userMapper.insert(user);
}
public void updateUser(User user) {
userMapper.update(user);
}
public void deleteUser(Integer id) {
userMapper.deleteById(id);
}
}
🌐 UserController.java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getUser(@PathVariable Integer id) {
return userService.getUserById(id);
}
@GetMapping
public List<User> getAllUsers() {
return userService.getAllUsers();
}
@PostMapping
public void addUser(@RequestBody User user) {
userService.addUser(user);
}
@PutMapping
public void updateUser(@RequestBody User user) {
userService.updateUser(user);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Integer id) {
userService.deleteUser(id);
}
}
⚙️ application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/user_db?useSSL=false&serverTimezone=UTC
username: root
password: yourpassword
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.example.usermanagement.entity
🚀 UserManagementApplication.java
@SpringBootApplication
public class UserManagementApplication {
public static void main(String[] args) {
SpringApplication.run(UserManagementApplication.class, args);
}
}
评论前必须登录!
注册