使用Spring Boot+MyBatis框架做查询操作

一.在你建立的工程下创建 Module 选择Spring initializr创建。

二.在Type处选择: Maven Project(项目的构建工具)

 

三.创建依赖时勾上web,mybatis,mysql(这个看你个人需要吧,可以自主选择)

 

建立好的项目结构如下:

 

 

注意:application.properties和application.yml是同一个东西,均为项目的核心配置文件

内容如下:

#连接数据库
spring.datasource.url=jdbc:mysql://localhost:3306/smbms
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.driverClassName=com.mysql.jdbc.Driver
#引入mybatis的配置文件
mybatis:
    mybatis.mapper-locations=classpath:mapper/*.xml
    mybatis.type-aliases-package=com.example.sprboot.pojo

 


相应的pom.xml文件

<?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.example</groupId>
    <artifactId>springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springboot</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--添加web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--引入spring boot包-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- Spring-Mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>
        <!-- MySQL -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--使用json对象-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.49</version>
        </dependency>
        <!--使用thymeleaf标签-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

 


相应的接口UserMapper如下:

@Repository
public interface UserMapper {
    List<User> getList();
}

 


service如下:

public interface UserService {
    List<User> getList();
}

 


impl如下:

@Service
public class UserServiceImpl implements UserService {
    @Resource
    private UserMapper userMapper;
    @Override
    public List<User> getList() {
        return userMapper.getList();
    }
}

 


在resources中建一个文件夹mapper里面放mapper.xml文件,代码如下:

<select id="getList" resultType="User">
    select * from smbms_user
</select>

 


在templates文件夹中建html文件(注意:Spring Boot中不能跳转到.jsp文件,所以只能用html)

核心代码如下:

<table>
    <th>工号</th>
    <th>用户名</th>
    <th>姓名</th>
    <th>性别</th>
    <th>生日</th>
    <th>电话</th>
    <th>地址</th>
    <th>创建时间</th>
    <tr th:each="user : ${users}">
        <td th:text="${user.id}"></td>
        <td th:text="${user.userCode}"></td>
        <td th:text="${user.userName}"></td>
        <td th:text="${user.gender}"></td>
        <td th:text="${user.birthday}"></td>
        <td th:text="${user.phone}"></td>
        <td th:text="${user.address}"></td>
        <td th:text="${user.createdBY}"></td>
    </tr>
</table>

 



此处有一个th标签,需要引入一个<html xmlns:th="http://www.thymeleaf.org">
并在pom.xml中引入对应的jar包(html中不能使用jstl表达式)

大家可以扩展一下thymeleaf的知识

 

控制器代码如下:

@Controller
public class UserController {
    @Resource
    private UserService userService;
@RequestMapping("/")
    public String getStuinforList(HttpServletRequest request, Model model){
        List<User> list=userService.getList();
        model.addAttribute("users",list);
        System.out.println(list);
        return "/index.html";
    }
}

 


注:在调通的时候,可能会报很多的错,基本上都是注解的使用出错,希望各位能够细心点

posted @ 2018-10-17 16:56  cairui  阅读(8617)  评论(1编辑  收藏  举报