Springboot整合MybatisPuls
Maven导入依赖,主要只需导入MyBatisPuls
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
配置数据源
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
server.port=8082
编写实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("users")//连接的表名
public class Users implements Serializable {
@TableId("id")标记该变量为主键
private Integer id;
private String Account;
@TableField("passwraod" )//如果实体类变量和数据库不同使用
private String password;
private Integer Authority;
}
mapper接口编写
继承BaseMapper<这里为实体类>
@org.apache.ibatis.annotations.Mapper//让Spring容器扫描该类为Mapper
@Repository
public interface Mapper extends BaseMapper<Users> {
}
BaseMapper源码
实现接口方法
@RestController
public class Control {
@Autowired
Mapper mapper;
@RequestMapping("/hello")
public Users Select(){
Users users = mapper.selectById(1);
return users;
}
}
今天下午么有事,更新一下Mybatis-Puls
首先讲一下条件构造器queryWrapper
简单说一下
Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示 AbstractWrapper :
用于查询条件封装,生成 sql 的 where 条件 AbstractLambdaWrapper : Lambda 语法使用
Wrapper统一处理解析 lambda 获取 column。 LambdaQueryWrapper
:看名称也能明白就是用于Lambda语法使用的查询Wrapper LambdaUpdateWrapper : Lambda
更新封装Wrapper QueryWrapper : Entity 对象封装操作类,不是用lambda语法 UpdateWrapper :
Update 条件封装,用于Entity对象更新操作
一般链式编程编写
mapper.selectList(new QueryWrapper<picture>().eq("Type", Type));
下面说一下Mybatis-puls批量操作
mybaits-puls有一个类和一个方法,分别是IService和IBaseMapper!
一个是批量操作和单一操作,好像BaseMapper也有几个方法可以批量!
批量操作
继承IService类
package com.Mapper;
import com.baomidou.mybatisplus.extension.service.IService;
public interface AccountPictureIService extends IService<AccountPicture> {
}
Mapper也不能少哦
package com.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Repository
@Mapper
public interface AccountPictureMapper extends BaseMapper<AccountPicture> {
}
继承ServiceImpl,泛型中一个是Mapper接口,另一个是实体类,让后实现继承IService类的接口
public class AccountPictureService extends ServiceImpl<AccountPictureMapper,AccountPicture> implements AccountPictureIService
ServiceImpl是真正操作批量操作的
源码自己看,反正是中文的
在继承了ServiceImp类的业务类直接调父类的方法就好了