步骤 1 : 关于Mybatis

Mybatis 是用来进行数据库操作的框架,如果没有相关知识最好学习一下先: Mybatis 系列教材

步骤 2 : 创建数据库

创建数据库,名称是 how2java

create database how2java;

步骤 3 : 创建表

创建个分类表,字段很简单,就id和name

use how2java;

CREATE TABLE category_ (

  id int(11) NOT NULL AUTO_INCREMENT,

  name varchar(30),

  PRIMARY KEY (id)

) DEFAULT CHARSET=UTF8;

步骤 4 : 准备数据

插入4条数据

insert into category_ values(null,'category 1');

insert into category_ values(null,'category 2');

insert into category_ values(null,'category 3');

insert into category_ values(null,'category 4');

步骤 5 : 先运行,看到效果,再学习

老规矩,先下载下载区(点击进入)的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。 
测试地址:

http://127.0.0.1:8080/listCategory


注: 启动方式是Springboot特有的,直接运行类:com.how2java.springboot.Application 的主方法。

步骤 6 : 模仿和排错

在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。 
模仿过程难免代码有出入,导致无法得到期望的运行结果,此时此刻通过比较正确答案 ( 可运行项目 ) 和自己的代码,来定位问题所在。 
采用这种方式,学习有效果,排错有效率,可以较为明显地提升学习速度,跨过学习路上的各个槛。 

推荐使用diffmerge软件,进行文件夹比较。把你自己做的项目文件夹,和我的可运行项目文件夹进行比较。 
这个软件很牛逼的,可以知道文件夹里哪两个文件不对,并且很明显地标记出来 
这里提供了绿色安装和使用教程:diffmerge 下载和使用教程

步骤 7 : 基于前面的知识点

本知识点基于错误处理开发,所以最好要把前面的内容学习了哦,不然有些内容恐怕看不懂呢

步骤 8 : application.properties

新增数据库链接必须的参数

spring.mvc.view.prefix=/WEB-INF/jsp/

spring.mvc.view.suffix=.jsp

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8

spring.datasource.username=root

spring.datasource.password=admin

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

步骤 9 : pom.xml

增加对mysql和mybatis的支持

<!-- 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>

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

 

  <groupId>com.how2java</groupId>

  <artifactId>springboot</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <name>springboot</name>

  <description>springboot</description>

  <packaging>war</packaging>

   

    <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>1.5.9.RELEASE</version>

    </parent>

 

    <dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-tomcat</artifactId>

             

        </dependency>

        <dependency>

              <groupId>junit</groupId>

              <artifactId>junit</artifactId>

              <version>3.8.1</version>

              <scope>test</scope>

        </dependency>

        <!-- servlet依赖. -->

        <dependency>

              <groupId>javax.servlet</groupId>

              <artifactId>javax.servlet-api</artifactId>

               

        </dependency>

              <dependency>

                     <groupId>javax.servlet</groupId>

                     <artifactId>jstl</artifactId>

              </dependency>

        <!-- tomcat的支持.-->

        <dependency>

               <groupId>org.apache.tomcat.embed</groupId>

               <artifactId>tomcat-embed-jasper</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>

    </dependencies>

 

    <properties>

        <java.version>1.8</java.version>

    </properties>

 

    <build>

        <plugins>

            <plugin>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

            </plugin>

        </plugins>

    </build>

 

</project>

步骤 10 : Category

增加一个包:com.how2java.springboot.pojo,然后创建实体类Category。

package com.how2java.springboot.pojo;

 

public class Category {

  

    private int id;

      

    private String name;

    public int getId() {

        return id;

    }

    public void setId(int id) {

        this.id = id;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

      

}

步骤 11 : CategoryMapper

增加一个包:com.how2java.springboot.mapper,然后创建接口CategoryMapper。
使用注解@Mapper 表示这是一个Mybatis Mapper接口。
使用@Select注解表示调用findAll方法会去执行对应的sql语句。

@Select("select * from category_ ")

List<Category> findAll();


关于Mybatis的注解方式有相关的系列教材: Mybatis 注解教程

package com.how2java.springboot.mapper;

 

import java.util.List;

 

import org.apache.ibatis.annotations.Mapper;

import org.apache.ibatis.annotations.Select;

 

import com.how2java.springboot.pojo.Category;

 

@Mapper

public interface CategoryMapper {

 

    @Select("select * from category_ ")

    List<Category> findAll();

 

}

步骤 12 : CategoryController

增加一个包:com.how2java.springboot.web,然后创建CategoryController 类。
1. 接受listCategory映射
2. 然后获取所有的分类数据
3. 接着放入Model中
4. 跳转到listCategory.jsp中

package com.how2java.springboot.web;

import java.util.List;

 

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

 

import com.how2java.springboot.mapper.CategoryMapper;

import com.how2java.springboot.pojo.Category;

   

@Controller

public class CategoryController {

    @Autowired CategoryMapper categoryMapper;

      

    @RequestMapping("/listCategory")

    public String listCategory(Model m) throws Exception {

        List<Category> cs=categoryMapper.findAll();

          

        m.addAttribute("cs", cs);

          

        return "listCategory";

    }

      

}

步骤 13 : listCategory.jsp

用jstl遍历从CategoryController 传递过来的集合:cs.

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

   

<table align='center' border='1' cellspacing='0'>

    <tr>

        <td>id</td>

        <td>name</td>

    </tr>

    <c:forEach items="${cs}" var="c" varStatus="st">

        <tr>

            <td>${c.id}</td>

            <td>${c.name}</td>

                

        </tr>

    </c:forEach>

</table>

步骤 14 : 重启测试

因为在pom.xml中增加了jar包的依赖,所以仅仅通过Springboot本身的热部署是无法起作用的,得手动重启一下。
然后访问测试地址:

http://127.0.0.1:8080/listCategory


观察到如图所示的效果



©著作权归作者所有:来自51CTO博客作者wx5c4afeea27343的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 2020最全的Lucene7 入门教程
  2. SpringBoot持久层支持 - Mybatis-xml方式
  3. J2EE Listener 监听器教程
  4. 史上最全maven教程
  5. springboot整合 elasticsearch 做 增删改查 CRUD以及分页
  6. 如何在 阿里云 申请 ssl 免费证书
  7. 史上最详细的Intellij IDEA开发教程
  8. Springboot 如何做前后端分离?
  9. 如何设置 Centos7 为固定ip地址(详细教程)

随机推荐

  1. Android介绍与前景
  2. Android图像篇
  3. Flash 之ANE的applicationDeployment.nat
  4. 开发Android应用 提升性能的小技巧
  5. Android Button应用法则
  6. 使用Android Studio 创建第一个Android
  7. 如何在Android和iOS设备上录制游戏?
  8. Android命令Monkey压力测试,详解
  9. android全平台编译ffmpeg合并为单个库实
  10. 修改版本号