Spring 是什么呢?首先它是一个开源的项目,而且目前非常活跃;它是一个基于 IOC 和 AOP 的构架多层 j2ee 系统的框架,但它不强迫你必须在每一层 中必须使用 Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的 MVC,对不同的数据访问技术提供了统一的接口,采用 IOC 使得可以很容易的实现 bean 的装配,提供了简洁的 AOP 并据此实现 Transcation Managment,等等
大家都知道 springboot 搭建一个 spring 框架只需要秒秒钟。下面通过实例代码给大家介绍一下 springboot 与 mybatis 的完美融合,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
简介
从 Spring Boot 项目名称中的 Boot 可以看出来,Spring Boot 的作用在于创建和启动新的基于 Spring 框架的项目。它的目的是帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用。Spring Boot 会选择最适合的 Spring 子项目和第三方开源库进行整合。大部分 Spring Boot 应用只需要非常少的配置就可以快速运行起来。
Spring Boot 包含的特性如下:
创建可以独立运行的 Spring 应用。
直接嵌入 Tomcat 或 Jetty 服务器,不需要部署 WAR 文件。
提供推荐的基础 POM 文件来简化 Apache Maven 配置。
尽可能的根据项目依赖来自动配置 Spring 框架。
提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
没有代码生成,也没有 XML 配置文件。
好了,上面说这么多都是给下文做铺垫,感兴趣的朋友继续往下阅读吧。
大家都知道 springboot 搭建一个 spring 框架只需要秒秒钟。
下面给大家介绍一下 springboot 与 mybatis 的完美融合:
首先:创建一个名为 springboot-mybatis 的 maven 项目,记住:一定要 maven 哦,不懂 maven 的可以自己恶补一下 maven 知识,这里就不介绍 maven 了。
下面给出 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>springboot-mybatis</groupId>
- <artifactId>springboot-mybatis</artifactId>
- <version>1.0.0</version>
- <packaging>war</packaging>
- <name>springBoot-mybatis</name>
- <description>Spring Boot project</description>
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>1.3.2.RELEASE</version>
- <relativePath/>
- </parent>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <java.version>1.8</java.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.21</version>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </project>
之后创建一个启动类:
- package org.shenlan;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- /**
- * Created by wangwei on 2016/9/2.
- */
- @SpringBootApplication public class Application {
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
- }
这样一个完整的 springboot 项目就完成了,是不是很简单。
接下来就可以整理与 mybatis 的东东了。
首先,创建配置文件:application.properties
- spring.datasource.url=jdbc:mysql://localhost:3306/test
- spring.datasource.username=root
- spring.datasource.password=root
- spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- server.port=1111
这里 server.port=1111 是定义了改项目的端口,默认的是 8080.
然后,定义一个 java 的实体类:
- package org.shenlan.web;
- /**
- * Created by wangwei on 2016/9/2.
- */
- public class User {
- private Integer id;
- private String name;
- private Integer age;
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- }
这里实体类的字段要和数据库的字段对应起来,不然就要取别名了。
之后,定义一个 dao 的接口:
- package org.shenlan.web;
- import org.apache.ibatis.annotations.Mapper;
- import org.apache.ibatis.annotations.Param;
- import org.apache.ibatis.annotations.Select;
- /**
- * Created by Administrator on 2016/9/2.
- */
- @Mapper
- public interface UserMapper {
- @Select("select * from user where name = #{name}")
- User findUserByName(@Param("name")String name);
- }
@Mapper 就是我们要与 mybatis 融合关键的一步,只要一个注解就搞定了。
哈哈哈,最后我们就来写一个测试类吧:
- package org.shenlan.web;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.bind.annotation.RestController;
- /**
- * Created by wangwei on 2016/9/2.
- */
- @RestController
- @RequestMapping({"/home"})
- public class UserController {
- @Autowired
- UserMapper userMapper;
- @RequestMapping(value = "/user")
- @ResponseBody
- public String user(){
- User user = userMapper.findUserByName("王伟");
- return user.getName()+"-----"+user.getAge();
- }
- }
- @RestController是对应的restful风格的控制器,@RequestMapping里面可以对应一个数组哦
打开浏览器,输入: http://localhost:1111/home/user
效果如下:
以上所述是小编给大家介绍的 springboot 与 mybatis 整合实例详解 (完美融合),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 PHPERZ 网站的支持!
来源: http://www.phperz.com/article/17/1125/360079.html