热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringBoot+MyBatis框架的搭建

springboot的方便之处在于没有了繁杂的xml配置文件和不需要再自己去安装tomcat等服务器,由于后续工作需要用到springbootmybatis来进行工作

spring boot的方便之处在于没有了繁杂的xml配置文件和不需要再自己去安装tomcat等服务器,由于后续工作需要用到spring boot+mybatis来进行工作,将这两天学习的东西记录下来,方便自己查看也避免后来者能避开我碰到的坑。
Spring Boot建议使用Maven或Gradle,本文以Maven为例。
创建一个maven web项目,可以参考http://blog.csdn.net/chuyuqing/article/details/28879477
创建maven项目之后需要先引入所需的支持jar包。

在pom.xml中写上如下内容:

<project xmlns&#61;"http://maven.apache.org/POM/4.0.0" xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation&#61;"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.test</groupId><artifactId>springboot_mybatis_day1</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>springBoot-mybatis</name><url>http://maven.apache.org</url><description>Spring Boot project</description><!-- spring boot parent节点&#xff0c;引入之后&#xff0c;再去引入spring boot相关的就不需要引入版本了 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.4.1.RELEASE</version><relativePath/></parent><properties><!-- 指定字符集 --><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- 指定JDK版本号&#xff0c;默认的是1.6版本 --><java.version>1.8</java.version></properties><dependencies><!-- web支持&#xff1a; 1.web mvc 2.restful 3.jackjson支持 4.aop 等等--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- mysql数据库驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- spring-boot mybatis 依赖&#xff1a;请不要使用1.0.0版本之前&#xff0c;因为还不支持拦截器插件&#xff1b;--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.1.1</version></dependency></dependencies><!-- 我们这个示例不需要这个&#xff0c;但是最终是要实现web功能&#xff0c;所以还是添加这个依赖。 --><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><!-- 我们这个示例不需要这个&#xff0c;但是最终是要实现web功能&#xff0c;所以还是添加这个依赖。 --><build><plugins><plugin><groupId>org.springframework.boot</groupId><!-- 打包项目为可执行的jar包 --><artifactId>spring-boot-maven-plugin</artifactId><dependencies><dependency><!-- Spring-Loaded项目提供了强大的热部署功能 --><groupId>org.springframework</groupId><artifactId>springloaded</artifactId><version>1.2.5.RELEASE</version></dependency></dependencies></plugin></plugins></build>
</project>

构建目录结构

目录结构

先进行数据库连接&#xff0c;创建一个文件application.properties

spring.datasource.url&#61;jdbc:mysql://localhost:3306/test
spring.datasource.username&#61;root
spring.datasource.password&#61;3718900
spring.datasource.driverClassName&#61;com.mysql.jdbc.Driver
spring.datasource.max-active&#61;20
spring.datasource.max-idle&#61;8
spring.datasource.min-idle&#61;8
spring.datasource.initial-size&#61;10

创建一个应用类App.java

package org.yanling;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** Spring Boot 启动类* &#64;author yanling* &#64;version v.1.0.0* &#64;date 2017-3-23*/&#64;SpringBootApplication
&#64;MapperScan("org.yanling.mapper.*")//扫描该包下相应的class&#xff0c;mybatis持久化类
public class App {public static void main(String[] args){SpringApplication.run(App.class , args);}
}

创建一个User.java&#xff0c;定义的变量需要和数据库中字段名一致&#xff0c;否则需要使用别名。

package org.yanling.entity;public class User {private Integer id;private String name;private Integer age;public Integer getId() {return id;}public void setId(Integer id) {this.id &#61; id;}public String getName() {return name;}public void setName(String name) {this.name &#61; name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age &#61; age;}}

创建UserMapper .java(注意这是一个接口类)

package org.yanling.mapper;import java.util.List;import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.yanling.entity.User;//&#64;Mapper在启动类里面配置了&#64;MaaperScan注解就不需要这个注解
public interface UserMapper {//#{name}:参数占位符&#64;Select("select * from user where name &#61; #{name}")public List<User> findUserByName(String name);&#64;Select("select * from user")public List<User> findUser();}

既然是MVC结构Service是不能少的&#xff0c;创建一个UserService.java

package org.yanling.service;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.yanling.entity.User;
import org.yanling.mapper.UserMapper;&#64;Service
public class UserService {&#64;Autowiredprivate UserMapper userMapper;public List<User> likeName(String name){return userMapper.findUserByName(name);}public List<User> findUser(String name){return userMapper.findUser();}}

再来一个UserContorller.java就可以了

package org.yanling.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.yanling.entity.User;
import org.yanling.service.UserService;&#64;RestController
public class UserController {&#64;Autowiredprivate UserService userService;&#64;RequestMapping("/userFind")public List<User> likeName(String name){return userService.likeName(name);}&#64;RequestMapping("/user")public List<User> findUser(String name){return userService.findUser(name);}}

现在就可以来启动项目了&#xff0c;打开App.java&#xff0c;右键选择Run As --> java application

这里写图片描述

打开浏览器&#xff0c;输入http://localhost:8080/user

这里写图片描述

恭喜你第一个Spring boot &#43; mybatis框架搭建完成了。


推荐阅读
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
author-avatar
诺汐衹湜忲傻
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有