springboot --- 之SSM框架整合

1.pom依赖:
即:spring-boot的基本jar ---- 内置springmvc和spring
Thymeleaf jar
热部署 jar ---方便二次加载 ctrl+f9再次编译
Mybatis jar
Mysql jar

<dependency>
 	<groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

<!--热部署-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>
<!-- mybatis -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>
<!-- mysql -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.21</version>
</dependency>


2.application的配置:
#thymeleaf 配置
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
#缓存设置为false, 这样修改之后马上生效,便于调试
spring.thymeleaf.cache=false
#上下文
server.context-path=/thymeleaf
#视图层控制
#spring.mvc.view.prefix=classpath:/templates/
#spring.mvc.view.suffix=.html
#spring.mvc.static-path-pattern=/static/**
#数据库
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver



3.mapper层 以及非常简单的entity层:
@Mapper
@Repository
// 加上Repository注解,即可自动bean
public interface CategoryMapper {

    @Select("select * from category_ ")
    public List<Category> findAll();

}

4.service层 --- 以及serviceImpl实现层
@Service
public class CategoryServiceImpl implements CategoryService {
    @Autowired
    CategoryMapper;

    @Override
    public List<Category> selectAll() {
        return categoryMapper.findAll();
    }
}
5.controller层:
这个里面加了pagehelper,可以忽略
@Controller
public class CategoryController {
    @Autowired
    CategoryService categoryService;
    
    @RequestMapping("/listCategory")
    public String showList(Model model,
                           @RequestParam(value = "start", defaultValue = "0") int start,
                           @RequestParam(value = "size", defaultValue = "5") int size)
                            throws Exception{
        PageHelper.startPage(start,size);
        List<Category> list = categoryService.selectAll();
        PageInfo<Category> page = new PageInfo<>(list);
        model.addAttribute("page",page);
        return "listCategory";
    }
}

6.Thymeleaf --- 渲染模板:  有点类似于EL表达式的写法
<table border="1px">
    <tr>
        <th>id</th>
        <th>name</th>
    </tr>
    <tr th:each="l:${page.list}">
        <td th:text="${l.id}"></td>
        <td th:text="${l.name}"></td>
    </tr>
</table>
<a th:href="@{/listCategory(start=0)}">[首  页]</a>
<a th:href="@{/listCategory(start=${page.pageNum-1})}">[上一页]</a>
<a th:href="@{/listCategory(start=${page.pageNum+1})}">[下一页]</a>
<a th:href="@{/listCategory(start=${page.pages})}">[末  页]</a>

  

猜你喜欢

转载自www.cnblogs.com/kkzhilu/p/9595492.html