关于"Mybatis Plus,无XML分分钟实现CRUD操作"的攻略,我可以提供以下内容:
什么是Mybatis Plus?
Mybatis Plus是Mybatis的增强工具,在Mybatis基础上扩展了很多实用的功能,比如自动生成代码、分页查询、逻辑删除等,使得开发者可以更方便快捷地进行开发。同时,Mybatis Plus支持无XML配置,可以在很大程度上简化开发的流程。
如何使用Mybatis Plus进行CRUD操作?
步骤一:引入依赖
在pom.xml文件中加入Mybatis Plus的依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
步骤二:配置文件
在配置文件中配置Mybatis Plus的相关信息,比如Mapper扫描路径、数据源等。
mybatis-plus:
mapper-locations: classpath:/mapper/*.xml
type-aliases-package: com.example.model
global-config:
db-config:
id-type: auto
table-prefix: t_
configuration:
map-underscore-to-camel-case: true
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&serverTimezone=UTC
driver-class-name: com.mysql.jdbc.Driver
username: root
password: root
步骤三:实体类
使用Mybatis Plus需要定义实体类,并通过注解方式声明表名、主键等信息,比如:
@Data
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private String email;
private Integer age;
private Date createTime;
}
其中,@TableName注解指定了表名,@TableId注解指定了主键和主键生成策略。
步骤四:Mapper
定义Mapper接口,继承BaseMapper接口,并声明自定义的方法,比如:
public interface UserMapper extends BaseMapper<User> {
List<User> listUserByName(@Param("name") String name);
}
其中,listUserByName方法是自己定义的查询方法,使用@Param注解指定参数名称。
步骤五:Service
定义Service层,实现自己的业务逻辑,并注入Mapper。
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public List<User> listUserByName(String name) {
return baseMapper.listUserByName(name);
}
}
步骤六:Controller
定义Controller层,接收请求参数,调用Service层方法,返回结果。
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public Result listUserByName(String name) {
List<User> userList = userService.listUserByName(name);
return Result.success(userList);
}
}
至此,我们就完成了一个使用Mybatis Plus实现CRUD操作的示例。
示例二
下面再提供一个使用Mybatis Plus实现分页查询的示例:
步骤一、首先在Service中调用BaseMapper的selectPage方法:
public interface UserService extends IService<User> {
Page<User> selectUserPage(Page<User> page, User user);
}
@Override
public Page<User> selectUserPage(Page<User> page, User user) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
if (user.getName() != null && !"".equals(user.getName())) {
queryWrapper.like("name", user.getName());
}
if (user.getEmail() != null && !"".equals(user.getEmail())) {
queryWrapper.like("email", user.getEmail());
}
return baseMapper.selectPage(page, queryWrapper);
}
步骤二、在Controller中调用Service的selectUserPage方法,返回分页结果:
@GetMapping("/list")
public Result<Page<User>> selectUserPage(int pageNum, int pageSize, User user) {
Page<User> page = new Page<>(pageNum, pageSize);
Page<User> userPage = userService.selectUserPage(page, user);
return Result.success(userPage);
}
这样,我们就完成了一个使用Mybatis Plus实现分页查询的示例。
希望这个攻略能够对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MybatisPlus,无XML分分钟实现CRUD操作 - Python技术站