接下来我将以以下步骤为例,详细讲解SpringBoot整合Mybatis注解开发的实现代码:
- 配置Mybatis
首先,在Spring Boot配置文件中添加Mybatis的相关配置,如下所示:
mybatis:
mapper-locations: classpath:mapper/*.xml
configuration:
map-underscore-to-camel-case: true
上面的配置中,mapper-locations
用于指定Mybatis的Mapper文件所在路径,这里我使用注解时不需要。configuration
用于配置一些其他的Mybatis属性,比如将下划线命名规则转换为驼峰命名规则,这样可以避免Mybatis中表字段与Java实体类字段不一致的问题。
- 配置数据源
接下来,需要配置与数据库的连接,可以使用Spring Boot提供的DataSource
自动配置,如下所示:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/demo_db?serverTimezone=UTC&useSSL=false
username: root
password: root
上述配置中,url
为数据库连接字符串,username
和password
为数据库登录用户名和密码。
- 编写Mapper接口
在接下来的示例中,我以一个User实体类为例,编写一个Mapper接口,如下所示:
@Mapper // 增加@Mapper注解
public interface UserMapper {
@Select("SELECT * FROM user")
List<User> getAllUsers();
}
上述代码中,我使用@Mapper
注解将该接口标记为Mybatis的Mapper接口。而在Mapper接口中,我使用了@Select
注解,指定SQL语句,用于查询所有用户信息。
- 编写Service层
接下来,我编写一个Service层,在其中注入我们的Mapper接口并调用其方法,如下所示:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getAllUsers(){
return userMapper.getAllUsers();
}
}
上述代码中,我使用@Autowired
注解将Mybatis的Mapper接口注入到Service层中,在Service层中调用Mapper接口的方法,用于获取所有用户信息。
- 编写Controller层
最后,我编写一个Controller层,在其中注入我们的Service层并调用方法,如下所示:
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public List<User> getAllUsers(){
return userService.getAllUsers();
}
}
上述代码中,我使用@Autowired
注解将Service层注入到Controller层中,在Controller层中调用Service层的方法,用于获取所有用户信息。
- 完整示例代码
至此,SpringBoot整合Mybatis注解开发的实现代码就编写完成了,以下是完整示例代码:
@MapperScan("com.example.demo.mapper") // 增加@MapperScan注解
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@Mapper // 增加@Mapper注解
public interface UserMapper {
@Select("SELECT * FROM user")
List<User> getAllUsers();
}
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getAllUsers(){
return userMapper.getAllUsers();
}
}
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public List<User> getAllUsers(){
return userService.getAllUsers();
}
}
以上代码中,需要注意的是:
- 在启动类中使用
@MapperScan
注解,指定Mybatis的Mapper接口所在路径; - 在Mapper接口中使用
@Mapper
注解,将接口标记为Mybatis的Mapper接口; - 在Service层中使用
@Autowired
注解,将Mybatis的Mapper接口注入到Service层中; - 在Controller层中使用
@Autowired
注解,将Service层注入到Controller层中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合Mybatis注解开发的实现代码 - Python技术站