- 创建maven工程,在pom文件导入需要的依赖:
- spring-boot-starter-web
- mybatis-spring-boot-starter
- mysql-connector-java
- spring-boot-starter-test
- com.github.pagehelper或pagehelper-spring-boot-starter【分页插件的依赖】
- spring-boot-devtools【热启动器插件的依赖】
-
创建项目的基本结构:domain、controller、service、mapper和springboot的入口类等
-
配置application.yml配置文件,配置端口号、数据源、mybatis 别名
server: port: 80 #给指定包配置别名【springboot不支持通配符,在另外配置java代码才能支持】 mybatis: type-aliases-package: top.onething.ssm.domain #不配置此属性时,默认在classpath下与mapper接口的层级结构相同的目录下,一般在resouces下建目录结构 mapper-locations: classpath:mapper/*Mapper.xml #当需要xml中配置mybatis时,才需要配置mybtis配置文件的位置 #config-location: classpath:mybaits-config.xml configuration: #mybatis日志,在控制台看sql语句 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #连接池的配置 spring: datasource: url: jdbc:mysql:///department?useUnicode=true&characterEncoding=utf-8&useSSL=false driver-class-name: com.mysql.jdbc.Driver username: root password: root
-
创建mpper接口、mapper接口的映射文件
- 注意:单个mapper接口映射文件的namespace命名空间必须指向该接口【配置完全限定名】
<mapper namespace="top.onething.ssm.mapper.DeptMapper">
-
springboot的入口类加注解:@MapperScan(basePackages={“top.onething.**.mapper”}),扫描指定包的接口
@SpringBootApplication
@MapperScan(basePackages={"top.onething.**.mapper"})
public class SSMAplication {
public static void main(String[] args) {
SpringApplication.run(SSMAplication.class, args);
}
}
- 完成service、Controller层的代码
- 实现分页功能【两种实现方式,建议使用方式2】
方式1:pom文件引入的依赖com.github.pagehelper
- 新建config包,自定义一个配置类,该类打注解@Configuration
- 在类中创建一个返回类型为PageHelper的方法,该方法打注解@Bean,在方法内部进行分页的相关配置
//方式1不配置PageHelper类的Bean,无法进行分页
@Configuration
public class CustomConfiguration {
@Bean
public PageHelper pageHelper(){
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
//分页合理化配置
properties.setProperty("reasonable", "true");
pageHelper.setProperties(properties);
return pageHelper;
}
}
public PageInfo<Dept> selectAll() {
//配置此代码后进行查询即为分页查询
PageHelper.startPage(1, 5);
List<Dept> depts = deptMapper.selectAll();
PageInfo<Dept> pageInfo = new PageInfo<>(depts,5);
return pageInfo;
}
方式2:pom文件引入依赖pagehelper-spring-boot-starter
- 依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
- application.yml配置文件中进行配置
pagehelper:
reasonable: true
- 配置后,直接进行分页查询
public PageInfo<Dept> selectAll() {
//配置此代码后进行查询即为分页查询
PageHelper.startPage(1, 5);
List<Dept> depts = deptMapper.selectAll();
PageInfo<Dept> pageInfo = new PageInfo<>(depts,5);
return pageInfo;
}