通用Mapper
使用通用Mapper可以实现自动拼接sql语句,使用mapper接口不需要编写sql语句,对于单表操作来说,大大提高了开发效率
导入依赖
 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
            <version>1.18.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.9</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
      
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.5</version>
        </dependency>
    </dependencies>mapper相关的依赖只有 mapper-spring-boot-starter
使用mapper的前提 ,在主配置文件中配置完数据源的基本信息
编写pojo
@Data @AllArgsConstructor @NoArgsConstructor
@Table(name = "user")
public class user {
    @Id @KeySql(useGeneratedKeys = true)
    private Integer id;
    private String username;
    private String password;
    private String perms;
}- @Table:指定与数据库中的表进行映射
- @Id:表示该属性是主键
- @KeySql:表示插入后主键会回传
编写UserMapper(dao层):继承接口即可
import tk.mybatis.mapper.common.Mapper;
public interface UserMapper extends Mapper<user> {
}编写UserService类 将UserMapper注入到该类
Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public List<user>findAll(){
       return userMapper.selectAll();
    }
}
这里userMapper,idea可能会报错,不用理它
编写控制层
@RestController
public class jdbcController {
    @Autowired
    private UserService userService;
    @GetMapping("/hello")
    public List<user> hello()
    {
        List<user> all = userService.findAll();
        return all;
    }
}主启动类
import tk.mybatis.spring.annotation.MapperScan;
@SpringBootApplication
@MapperScan("com.demo.mapper")
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}一定要添加这个注解,不然之前的接口无法使用
在浏览器中,访问的结果:

mapper常用的函数库:(91条消息) mybatis的通用Mapper函数库以及Example条件函数总结记录_初心不改-CSDN博客










