springboot与mybatis整合实例详解(完美融合)

作者:深蓝至尊 时间:2023-01-14 09:25:33 

简介

从 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整合实例详解(完美融合)

以上所述是小编给大家介绍的springboot与mybatis整合实例详解(完美融合)网站的支持!

来源:http://www.cnblogs.com/shenlanzhizun/p/5832976.html

标签:spring,boot,mybatis
0
投稿

猜你喜欢

  • C语言植物大战数据结构二叉树递归

    2022-02-13 14:12:06
  • java求数组元素重复次数和java字符串比较大小示例

    2023-08-04 22:20:02
  • 解决@RequestBody使用不能class类型匹配的问题

    2023-04-20 19:28:10
  • Android Volley框架使用源码分享

    2023-09-10 09:43:44
  • 并行Stream与Spring事务相遇会发生什么?

    2022-08-28 15:40:12
  • 浅谈Java生命周期管理机制

    2022-02-21 19:07:47
  • Java Spring 事件监听详情解析

    2021-06-05 00:02:08
  • C#实现基于XML配置MenuStrip菜单的方法

    2023-03-06 21:48:50
  • 详解Android应用开发中Intent的作用及使用方法

    2021-11-20 04:45:03
  • Android提高之多级树形菜单的实现方法

    2021-08-27 08:26:48
  • Java 获取Web项目相对webapp地址的实例

    2022-07-03 17:46:00
  • c#实现爬虫程序

    2023-04-19 18:59:14
  • java实现学生成绩档案管理系统

    2023-06-29 22:48:43
  • MyBatis找不到mapper文件的实现

    2023-12-15 09:22:11
  • Android App使用RecyclerView实现上拉和下拉刷新的方法

    2023-03-28 17:47:20
  • Android开发Compose集成高德地图实例

    2022-09-05 01:44:28
  • C#操作注册表之RegistryKey类

    2022-12-11 06:12:53
  • java8 stream的多字段排序实现(踩坑)

    2023-10-22 11:06:31
  • Android程序开发之Fragment实现底部导航栏实例代码

    2023-05-01 11:37:38
  • Java 电话号码的组合示例详解

    2023-07-30 22:27:53
  • asp之家 软件编程 m.aspxhome.com