热门标签 | 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框架搭建完成了。


推荐阅读
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
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社区 版权所有