SpringBoot专题1----springboot与mybatis的完美融合

springboot大家都知道了,搭建一个spring框架只需要秒秒钟。下面给大家介绍一下springboot与mybatis的完美融合:

首先:创建一个名为springboot-mybatis的maven项目,记住:一定要maven哦,不懂maven的可以自己恶补一下maven知识,这里就不介绍maven了。

   下面给出pom.xml的完整配置:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6
 7     <groupId>springboot-mybatis</groupId>
 8     <artifactId>springboot-mybatis</artifactId>
 9     <version>1.0.0</version>
10     <packaging>war</packaging>
11
12     <name>springBoot-mybatis</name>
13     <description>Spring Boot project</description>
14
15     <parent>
16         <groupId>org.springframework.boot</groupId>
17         <artifactId>spring-boot-starter-parent</artifactId>
18         <version>1.3.2.RELEASE</version>
19         <relativePath/>
20     </parent>
21
22     <properties>
23         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
24         <java.version>1.8</java.version>
25     </properties>
26
27     <dependencies>
28
29         <dependency>
30             <groupId>org.springframework.boot</groupId>
31             <artifactId>spring-boot-starter</artifactId>
32         </dependency>
33
34         <dependency>
35             <groupId>org.springframework.boot</groupId>
36             <artifactId>spring-boot-starter-test</artifactId>
37             <scope>test</scope>
38         </dependency>
39
40         <dependency>
41             <groupId>org.mybatis.spring.boot</groupId>
42             <artifactId>mybatis-spring-boot-starter</artifactId>
43             <version>1.1.1</version>
44         </dependency>
45
46         <dependency>
47             <groupId>org.springframework.boot</groupId>
48             <artifactId>spring-boot-starter-web</artifactId>
49         </dependency>
50
51         <dependency>
52             <groupId>mysql</groupId>
53             <artifactId>mysql-connector-java</artifactId>
54             <version>5.1.21</version>
55         </dependency>
56
57     </dependencies>
58
59     <build>
60         <plugins>
61             <plugin>
62                 <groupId>org.springframework.boot</groupId>
63                 <artifactId>spring-boot-maven-plugin</artifactId>
64             </plugin>
65             <plugin>
66                 <groupId>org.apache.maven.plugins</groupId>
67                 <artifactId>maven-surefire-plugin</artifactId>
68                 <configuration>
69                     <skip>true</skip>
70                 </configuration>
71             </plugin>
72         </plugins>
73     </build>
74
75 </project>

之后创建一个启动类:

 1 package org.shenlan;
 2
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5
 6 /**
 7  * Created by wangwei on 2016/9/2.
 8  */
 9 @SpringBootApplication
10 public class Application {
11     public static void main(String[] args){
12         SpringApplication.run(Application.class,args);
13     }
14 }

这样一个完整的springboot项目就完成了,是不是很简单。

接下来就可以整理与mybatis的东东了。

首先,创建配置文件:application.properties

1 spring.datasource.url=jdbc:mysql://localhost:3306/test
2 spring.datasource.username=root
3 spring.datasource.password=root
4 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
5
6 server.port=1111

这里server.port=1111是定义了改项目的端口,默认的是8080.

然后,定义一个java的实体类:

 1 package org.shenlan.web;
 2
 3 /**
 4  * Created by wangwei on 2016/9/2.
 5  */
 6 public class User {
 7     private Integer id;
 8     private String name;
 9     private Integer age;
10
11     public Integer getId() {
12         return id;
13     }
14
15     public void setId(Integer id) {
16         this.id = id;
17     }
18
19     public String getName() {
20         return name;
21     }
22
23     public void setName(String name) {
24         this.name = name;
25     }
26
27     public Integer getAge() {
28         return age;
29     }
30
31     public void setAge(Integer age) {
32         this.age = age;
33     }
34 }

这里实体类的字段要和数据库的字段对应起来,不然就要取别名了。

之后,定义一个dao的接口:

 1 package org.shenlan.web;
 2
 3 import org.apache.ibatis.annotations.Mapper;
 4 import org.apache.ibatis.annotations.Param;
 5 import org.apache.ibatis.annotations.Select;
 6
 7 /**
 8  * Created by Administrator on 2016/9/2.
 9  */
10 @Mapper
11 public interface UserMapper {
12
13     @Select("select * from user where name = #{name}")
14     User findUserByName(@Param("name")String name);
15 }

@Mapper就是我们要与mybatis融合关键的一步,只要一个注解就搞定了。

哈哈哈,最后我们就来写一个测试类吧:

 1 package org.shenlan.web;
 2
 3 import org.springframework.beans.factory.annotation.Autowired;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 import org.springframework.web.bind.annotation.ResponseBody;
 6 import org.springframework.web.bind.annotation.RestController;
 7
 8 /**
 9  * Created by wangwei on 2016/9/2.
10  */
11 @RestController
12 @RequestMapping({"/home"})
13 public class UserController {
14     @Autowired
15     UserMapper userMapper;
16
17     @RequestMapping(value = "/user")
18     @ResponseBody
19     public String user(){
20         User user = userMapper.findUserByName("王伟");
21         return user.getName()+"-----"+user.getAge();
22     }
23 }

@RestController是对应的restful风格的控制器,@RequestMapping里面可以对应一个数组哦

打开浏览器,输入:http://localhost:1111/home/user

效果如下:

本博客涉及的项目的地址:https://github.com/shenlanzhizunjustwangwei/springBoot

希望大家喜欢。

如果觉得对你有帮助,可以打赏哦:

时间: 2024-11-13 04:04:13

SpringBoot专题1----springboot与mybatis的完美融合的相关文章

Springboot 2.0.4 整合Mybatis出现异常Property &#39;sqlSessionFactory&#39; or &#39;sqlSessionTemplate&#39; are required

在使用Springboot 2.0.4 整合Mybatis的时候出现异常Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required,然后各种找日志百度,网上给了一种解决方法: 版本太高,使用手动注入sqlSessionFactory,然后用dao的实习类继承,因为我的项目没有dao 的实现类,直接是interface+mapper文件,所以直接忽略了,没有试过,想试一下可以试一下 阅读博客点这里(随手百度的):这里是传送门

[SpringBoot]深入浅出剖析SpringBoot的应用类型识别机制

微信号:GitShare微信公众号:爱折腾的稻草如有问题或建议,请在公众号留言[1] 前续 为帮助广大SpringBoot用户达到"知其然,更需知其所以然"的境界,作者将通过SpringBoot系列文章全方位对SpringBoot2.0.0.RELEASE版本深入分解剖析,让您深刻的理解其内部工作原理. 1.[SpringBoot]利用SpringBoot快速构建并启动项目 2.[SpringBoot]详解SpringBoot应用的启动过程 推断应用的类型 SpringBoot启动时,

[SpringBoot]深入浅出剖析SpringBoot中Spring Factories机制

微信号:GitShare微信公众号:爱折腾的稻草如有问题或建议,请在公众号留言[1] 前续 为帮助广大SpringBoot用户达到"知其然,更需知其所以然"的境界,作者将通过SpringBoot系列文章全方位对SpringBoot2.0.0.RELEASE版本深入分解剖析,让您深刻的理解其内部工作原理. 1.[SpringBoot]利用SpringBoot快速构建并启动项目 2.[SpringBoot]详解SpringBoot应用的启动过程 3.[SpringBoot]深入浅出剖析Sp

搭建springboot的ssm(spring + springmvc + mybatis)的maven项目

最终项目目录结构 创建过程 1.创建开关SpringBootApplication 为了创建快速.我们使用idea自带的创建springboot来创建结构,当然创建普通的web项目也是可以的.(使用eclipse的同学可以按照一会的图来自己创建目录结构) 1.1 创建项目,按照图示进行选择 1.2 1.3 1.4 好了 我们的初始项目算是创建完成了.项目结构如下图所示,其中 Ssmspringboot2Application就是我们的开关文件 其实现在一个最简单的springboot项目我们已经

Springboot系列之Springboot与Mybatis整合

前言 技术博客那么多,为什么自己整理呢?太过零散的知识点不易记忆,且查找的时候也不是太方便,眼过千遍不如手过一遍的操作一遍,即使Springboot已经很好的整合了各项的技术框架,但实际操作的时候也会发现一些问题.我会将可能出现的问题记录一下,博文时刻更新. 预备知识: Springboot 2.0.6 Mybatis 3.4.6 Maven 3.5.3 Lomlok 1.16.18(可以参考:lombok 简化 Java 代码) Mysql 5.1.47 代码地址: 博文只是列举核心操作步骤,

java架构之路-(Redis专题)SpringBoot连接Redis超简单

上次我们搭建了Redis的主从架构,哨兵架构以及我们的集群架构,但是我们一直还未投入到实战中去,这次我们用jedis和springboot两种方式来操作一下我们的redis 主从架构 如何配置我上次已经讲过了,https://www.cnblogs.com/cxiaocai/p/11711377.html.我们这次主要看如何用java来操作redis,先来复习一下上次的配置,准备三台服务器,安装redis,保证互通,两台改为slave,配置replicaof IP 端口,主从复制是通过rdb文件

springboot整合springDataJPA(替代了MyBatis)

SpringDataJPA不需要表直接使用注解,是对JPA的封装. 需求:查询数据库---->查到数据---->展示到页面上 分析: 1.创建数据表:user表(此处建表,只是为了依赖导入失败,注解无法使用时备用) DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) DEFAULT NULL, `password` varc

SpringBoot (七) :springboot + mybatis 多数据源最简解决方案

原文出处: 纯洁的微笑 说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务.我们项目是后者的模式,网上找了很多,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解决方案,还有的是利用aop动态切换,感觉有点小复杂,其实我只是想找一个简单的多数据支持而已,折腾了两个小时整理出来,供大家参考. 配置文件 pom包就不贴了比较简单该依赖的就依赖,主要是数据库这边的配置: mybatis.config-locations=classpath:

springboot(七):springboot+mybatis多数据源最简解决方案

说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务.我们项目是后者的模式,网上找了很多,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解决方案,还有的是利用aop动态切换,感觉有点小复杂,其实我只是想找一个简单的多数据支持而已,折腾了两个小时整理出来,供大家参考. 废话不多说直接上代码吧 配置文件 pom包就不贴了比较简单该依赖的就依赖,主要是数据库这边的配置: mybatis.config-locations=classpath: