通用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博客