使用idea搭建springboot+mybatis一个简单的工程

废话少说直接使用idea搭建一个springboot+mybatis的工程

1.搭建工程按照图片一步一步next就可以了,中间需要选着的地方会截图

在最后完成简单工程的搭建之后先完善下工程的目录结构:

 

 在pom文件中添加依赖:

<?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>
   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.1.3.RELEASE</version>
      <relativePath/> <!-- lookup parent from repository -->
   </parent>
   <groupId>com.springboot.demo</groupId>
   <artifactId>springboot-demo</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <name>springboot-demo</name>
   <packaging>war</packaging>
   <description>Demo project for Spring Boot</description>

   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <mybatis-spring-boot.version>2.0.0</mybatis-spring-boot.version>
      <mysql-connector.version>5.1.24</mysql-connector.version>
      <java.version>1.8</java.version>
      <fastjson.version>1.2.56</fastjson.version>
   </properties>

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

      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-thymeleaf</artifactId>
      </dependency>
      <dependency>
         <groupId>org.mybatis.spring.boot</groupId>
         <artifactId>mybatis-spring-boot-starter</artifactId>
         <version>${mybatis-spring-boot.version}</version>
      </dependency>
      <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>${mysql-connector.version}</version>
      </dependency>
      <dependency>
         <groupId>com.alibaba</groupId>
         <artifactId>fastjson</artifactId>
         <version>${fastjson.version}</version>
      </dependency>
   </dependencies>

   <build>
      <plugins>
         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>

</project>

 


玩springboot的都知道最重要的一个配置文件就是application.properties
server.port=18080
#数据库链接配置信息
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/spring-boot?useUnicode=true&characterEncoding=utf8
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.username = root
spring.datasource.password = tangbing

##视图层控制 用mvc方式访问tempaltes下面的html文件
spring.mvc.view.prefix=classpath:/templates/
spring.mvc.view.suffix=.html
spring.mvc.static-path-pattern=/static/**

##thymeleaf这样配置就可以直接访问static下的HTML(和mvc访问方式二选一)
#spring.thymeleaf.prefix = classpath:/static/, classpath:/tempaltes/
#spring.thymeleaf.suffix = .html

spring.thymeleaf.mode = HTML5
spring.thymeleaf.encoding = UTF-8
spring.thymeleaf.servlet.content-type = text/html

#缓存 (开发是关闭,。。。。。)
spring.thymeleaf.cache = false

#mybatis配置
mybatis.configuration.use-generated-keys= true
# 不配置找不到mapper对用的xml
mybatis.mapper-locations=classpath:com/springboot/demo/MET-INFO/mybatis-mapper/*.xml

接下来就做下测试

/**
 * 文件名: testController.java
 * 版    权: Copyright © 2013 - 2019 CFNE, Inc. All Rights Reserved
 * 描    述: &lt;描述&gt;
 * 修改人: BING.TANG
 * 修改时间: 2019/3/7
 * 跟踪单号: &lt;跟踪单号&gt;
 * 修改单号: &lt;修改单号&gt;
 * 修改内容: &lt;修改内容&gt;
 */
package com.springboot.demo.contorller;

import com.alibaba.fastjson.JSONObject;
import com.springboot.demo.api.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;

/**
 * 功能描述 :
 * @author BING.TANG
 * @version [版本号,  2019/3/7]
 * @see [相关类/方法]
 * @since [产品/模板版本号]
 */
@Controller
public class testController
{
    @Resource(name = IUserService.BEAN_ID)
    private IUserService userService;

    @RequestMapping("/index")
    public String index()
    {
        return "index";
    }

    @RequestMapping("/queryUserById/{id}")
    @ResponseBody
    public JSONObject queryUserById(@PathVariable String id){
        return this.userService.queryUserById(id);
    }

}

这里说下想访问templates下面的静态资源文件的话不能用@RestController注解,因为RestController = Controller + ResponseBody,这样就会直接返回数据。

service的实现类:

/**
 * 文件名: UserServiceImpl.java
 * 版    权: Copyright © 2013 - 2019 CFNE, Inc. All Rights Reserved
 * 描    述: &lt;描述&gt;
 * 修改人: BING.TANG
 * 修改时间: 2019/3/7
 * 跟踪单号: &lt;跟踪单号&gt;
 * 修改单号: &lt;修改单号&gt;
 * 修改内容: &lt;修改内容&gt;
 */
package com.springboot.demo.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.springboot.demo.api.domain.User;
import com.springboot.demo.api.service.IUserService;
import com.springboot.demo.service.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 功能描述 :
 * @author BING.TANG
 * @version [版本号,  2019/3/7]
 * @see [相关类/方法]
 * @since [产品/模板版本号]
 */
@Service(IUserService.BEAN_ID)
public class UserServiceImpl implements IUserService
{
    @Autowired
    private UserMapper userMapper;

    @Override
    public JSONObject queryUserById(String id)
    {
        try
        {
            User user = this.userMapper.selectUser(id);
            return JSONObject.parseObject(JSONObject.toJSON(user).toString());
        } catch (Exception e){
            e.printStackTrace();
            throw e;
        }
    }
}

mapper文件

/**
 * 文件名: UserMapper.java
 * 版    权: Copyright © 2013 - 2019 CFNE, Inc. All Rights Reserved
 * 描    述: &lt;描述&gt;
 * 修改人: BING.TANG
 * 修改时间: 2019/3/7
 * 跟踪单号: &lt;跟踪单号&gt;
 * 修改单号: &lt;修改单号&gt;
 * 修改内容: &lt;修改内容&gt;
 */
package com.springboot.demo.service.mapper;

import com.springboot.demo.api.domain.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * 功能描述 :
 * @author BING.TANG
 * @version [版本号,  2019/3/7]
 * @see [相关类/方法]
 * @since [产品/模板版本号]
 */
@Repository
public interface UserMapper
{

    User selectUser(@Param("id") String id);
}

代码写到这里也可以做下简单的测试了:访问controller的index

 

最终返回的是templates下面的index页面。而访问/queryUserById/{id}返回的就是个json数据

 

到这里第一个简单的springboot+mybatis工程就算搭建成功了


原文地址:https://www.cnblogs.com/smallIce/p/10491475.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


这篇文章主要介绍了idea中mapper快速跳转到xml插件的方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。idea mapper快速跳转到xml插件1...
今天小编给大家分享的是IDEA搭建Maven模块化项目的实现方法,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有
这篇文章主要介绍了ideaintellij怎么快速修复if语句缺少大括号问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇idea&n...
这篇文章主要介绍“idea运行main方法或Test避免编译整个应用怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇...
这篇文章主要介绍“idea项目全局去掉严格的语法校验方式是什么”,在日常操作中,相信很多人在idea项目全局去掉严格的语法校验方式是什么问题上存在疑惑,小编查...
本文小编为大家详细介绍“Windows、IDEA、VSCode常用快捷键有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Windows、IDEA、VSCode常用快捷...
本篇内容介绍了“idea乱码修改bin目录下idea.exe.vmoptions无效怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领...
本文小编为大家详细介绍“怎么将idea本地项目更新到gitlab”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么将idea本地项目更新到gitlab”文章能帮助大家解...
今天小编给大家分享一下gitlab拉取新分支idea看不到怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家
这篇文章主要介绍“idea上git仓库不见了怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“idea上git仓库不
本文小编为大家详细介绍“怎么搭建CAS服务并将CAS项目导入IDEA”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么搭建CAS服务并将CAS项目导入IDEA”文章能帮...
这篇文章主要介绍“idea无法切换分支报错如何解决”,在日常操作中,相信很多人在idea无法切换分支报错如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单...
这篇文章主要讲解了“怎么使用IDEA回滚某次提交的代码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎
这篇文章主要介绍了IDEA2022中如何部署TomcatWeb项目的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇IDEA2022中如何部署T...
这篇文章主要介绍“idea怎么设置Git忽略对某些文件或文件夹的版本追踪”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这...
今天小编给大家分享一下Idea中mapper注入报错问题如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考...
本篇内容介绍了“怎么将IDEA项目部署到Gitee”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情...
本篇内容主要讲解“idea2019上如何配置gitee以实现代码的版本控制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学...
这篇文章主要介绍“idea中如何运行gitee”,在日常操作中,相信很多人在idea中如何运行gitee问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,
本篇内容主要讲解“idea如何上传到gitee”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“idea如何上传到gitee”...