• 使用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";
        }
    }


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

  • 相关阅读:
    spring MVC配置详解
    sun.misc.BASE64Encoder找不到jar包的解决方法
    maven入门教程
    Mybatis与Hibernate的详细对比
    分享知识-快乐自己:Hibernate对象的三种状态
    分享知识-快乐自己:Hibernate框架常用API详解
    分享知识-快乐自己:Hibernate 中 get() 和 load()、sava、update、savaOrUpdate、merge,不同之处及执行原理?
    分享知识-快乐自己:Mybatis缓存机制
    分享知识-快乐自己:Hibernate中的 quert.list() 与 quert.iterate() 方法区别
    分享知识-快乐自己:SpringMvc整合遇到-前台传JSON参数,后台实体类对象接收
  • 原文地址:https://www.cnblogs.com/merakfire/p/9805235.html
Copyright © 2020-2023  润新知