目录
创建一个新的Spring Boot项目
配置文件
application.properties配置:
创建实体类
创建Mapper接口
创建Mapper XML文件
创建Service和Controller
创建一个Controller类,用于处理HTTP请求和响应。在src/main/java目录下创建一个名为“com.example.demo.controller”的包,并在其中创建一个名为“UserController”的Java类,代码如下:
运行应用程序
首先,我们需要在Maven中创建一个新的Spring Boot项目。在pom.xml中添加所需的依赖,包括Spring Boot Web、MyBatis、MySQL驱动等。具体的依赖项如下:
org.springframework.boot
spring-boot-starter-web
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.1.3
mysql
mysql-connector-java
8.0.23
在application.properties或application.yml文件中配置应用程序,包括端口、数据库连接信息等。
# 服务端口号
server.port=8080
# MySQL相关配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MyBatis配置
mybatis.type-aliases-package=com.example.demo.entity
mybatis.mapper-locations=classpath:/mapper/*.xml
我们需要定义一个实体类来映射数据库中的表。在src/main/java目录下创建一个名为“com.example.demo.entity”的包,并在其中创建一个名为“User”的Java类,代码如下:
public class User {
private Long id;
private String name;
private int age;
// getter和setter方法
}
创建一个Mapper接口,用于定义访问表的CRUD方法。在src/main/java目录下创建一个名为“com.example.demo.mapper”的包,并在其中创建一个名为“UserMapper”的Java接口,代码如下:
@Mapper
public interface UserMapper {
List findAll();
User findById(Long id);
int addUser(User user);
int updateUser(User user);
int deleteUser(Long id);
}
在这里,我们使用了@Mapper注释来标识这是一个Mapper接口。接口中定义了一些CRUD方法。
在src/main/resources目录下创建一个名为“mapper”的文件夹,并在其中创建一个名为“UserMapper.xml”的文件,
insert into user(name, age) values(#{name}, #{age})
update user set name = #{name}, age = #{age} where id = #{id}
delete from user where id = #{id}
创建一个Service类,用于实现业务逻辑。在src/main/java目录下创建一个名为“com.example.demo.service”的包,并在其中创建一个名为“UserService”的Java类,代码如下:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List findAll() {
return userMapper.findAll();
}
public User findById(Long id) {
return userMapper.findById(id);
}
public int addUser(User user) {
return userMapper.addUser(user);
}
public int updateUser(User user) {
return userMapper.updateUser(user);
}
public int deleteUser(Long id) {
return userMapper.deleteUser(id);
}
}
在这里,我们使用了@Service注释来标识这是一个Service类,使用@Autowired注释来自动注入Mapper对象。
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/")
public List findAll() {
return userService.findAll();
}
@GetMapping("/{id}")
public User findById(@PathVariable Long id) {
return userService.findById(id);
}
@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 Long id) {
userService.deleteUser(id);
}
}
在这里,我们使用了@RestController注释来标识这是一个Controller类,使用@Autowired注释来自动注入Service对象。使用@GetMapping、@PostMapping、@PutMapping和@DeleteMapping注释来定义HTTP请求方法。
运行DemoApplication.java中的main方法,启动应用程序。
@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
在这里,我们使用了@MapperScan注释来扫描Mapper接口并将其注册为MyBatis映射器。
在浏览器或Postman中输入http://localhost:8080/user就是代码访问 列表接口
以上是一个简单的Spring Boot + MyBatis + MySQL框架搭建的详细过程示例,具体实现过程中还需要根据实际情况进行完善和调整