整体目录结构:
代码:
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>1.13.6.RELEASE</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>8.0.13</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>
application.properties:
server.port=8180
#数据库
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/boottest
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5
mybatis.configuration.map-underscore-to-camel-case=true
mapper.mappers=com.sbtest.mybatis.Mapper.BaseMapper
Application:
package com.sbtest.mybatis;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@EnableScheduling
@EnableTransactionManagement
@MapperScan("com.sbtest.mybatis.Mapper.allmapper")
public class SpringbootMybatisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootMybatisApplication.class, args);
}
}
实体类省略。
Mapper:
@Component(value = "userMapper")
@Mapper
public interface UserMapper extends BaseMapper<UserPo>{
@Select("select * from t_user")
List<UserPo> selectalllist();
@SelectProvider(type = UserMapperSql.class, method = "getUserList")
List<UserPo> getUserList();
}
父类Mapper:
public interface BaseMapper<T> extends Mapper<T>, MySqlMapper<T> {
}
controller:
@RestController
@RequestMapping(value = "/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@RequestMapping(value = "/getlist")
public Object getlist(){
List<UserPo> list = userMapper.selectalllist();
return list;
}
@RequestMapping(value = "getlist1")
public Object getlist1(){
List<UserPo> list1 = userMapper.selectAll();
return list1;
}
@RequestMapping(value = "getList2")
public Object getlist2(){
List<UserPo> list2 = userMapper.getUserList();
return list2;
}
}
postman调 user/getlist:
调user/getlist1:
调user/getList2:
注意事项:继承Mapper和MysqlMapper是为了使用Mybatis已经封装好的一些简单的增删改查。
三种查询方式,可以自行选择。