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

效果如下:

上面的对于简单的sql确实是非常的容易搞定,但是对于复杂的sql还是要到专门的地方去写啊!

接下来就为大家说说如何配置mapper.xml.

mybatis:type-aliases-package: com.wangsu_bi.web.entityconfig-location: classpath:mybatis/mybatis-config.xmlmapper-locations: classpath:mybatis/mapper/*.xml

以上是在application.yml中配置的mybatis属性:

mybatis-config.xml的结构如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-mybatis.org//DTD Config 3.0//EN" "http://mybatis.org.dtd/mybatis-3-config.dtd">
<configuration><typeAliases><typeAlias alias="Integer" type="java.lang.Integer" /><typeAlias alias="Long" type="java.lang.Long" /><typeAlias alias="HashMap" type="java.util.HashMap" /><typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" /><typeAlias alias="ArrayList" type="java.util.ArrayList" /><typeAlias alias="LinkedList" type="java.util.LinkedList" /></typeAliases>
</configuration>

这样就ok啦。就可以在mapper.xml中疯狂的写我们所需要的SQL啦!

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

希望大家喜欢。

转载于:https://www.cnblogs.com/shenlanzhizun/p/5832976.html

SpringBoot专题1----springboot与mybatis的完美融合相关推荐

  1. SpringBoot整合:Druid、MyBatis、MyBatis-Plus、多数据源、knife4j、日志、Redis,Redis的Java操作工具类、封装发送电子邮件等等

    SpringBoot笔记 一.SpringBoot 介绍 1.1.SpringBoot简介 SpringBoot 是一个快速开发的框架, 封装了Maven常用依赖.能够快速的整合第三方框架:简化XML ...

  2. 【SpringBoot专题】整合mybatis-plus之封装查询参数简化查询

    [SpringBoot专题]整合mybatis-plus之封装查询参数简化查询 通常开发过程中,操作数据库是作为后端开发必要掌握的本领,今天分享的是springboot整合mybatis-plus,官 ...

  3. 搭建第一个SpringBoot工程;SpringBoot整合mybatis;SpringBoot整合Redis-cluster集群;SpringBoot整合EhCache;

    写在前头,以下内容主要是为了自己复习之用,如果你有幸看到这篇文章,请不要嫌弃某些地方有所跳跃或省略. 1. 搭建第一个SpringBoot工程 1.1 创建工程 1.2 初始pom.xml文件内容 1 ...

  4. springboot工程中各个层次的作用+springboot连接数据库的工具汇总+Mybatis的开发方式/语法

    下面这个是hibernate的相关工程 下面这个是Mybatis的相关工程 \ 可以看出无论使用哪一种,方式都是一致的. --------------------------------------- ...

  5. SpringBoot员工管理系统(整合Mybatis+mysql)

    SpringBoot员工管理系统(整合Mybatis+mysql) 前部分:https://blog.csdn.net/weixin_43501359/article/details/11271466 ...

  6. 学习Springboot一之Springboot+Mybatis(注解形式)+Mysql+Web简单Demo

    学习SpringBoot,通过Springboot简单配置连接Mysql数据库,采用Mybatis注解方式实现数据库"增.删.改.查",结合Spring web实现页面呈现后,. ...

  7. 超详细的springBoot学习教程,springboot学习看这篇就够了

    springBoot学习 https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/index.html (官方文档) ...

  8. apache 配置文件内使用 8080 端口_【SpringBoot 框架】- SpringBoot 配置文件

    一.SpringBoot配置文件类型 SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话 ,就可以自己编写配置文件进行相应配置,起步依赖spring-bo ...

  9. 【SpringBoot入门】SpringBoot的配置

    SpringBoot的配置文件 一.SpringBoot配置文件分类 二.yaml 概述 三.多环境配置 四.@Value 和 @ConfigurationProperties 五.总结 一.Spri ...

最新文章

  1. 使用pip安装特定的软件包版本
  2. java 线程定时器_Java线程之Timer定时器
  3. 东财mysql数据库系统及应用_2020秋东财《MySQL数据库系统及应用》单元作业一
  4. js layui跳转页面_【WEB前端开辟】layui的iframe跳转链接与页面按钮跳转相干引见...
  5. java培训学费_太原java培训班价格表
  6. 通过汉诺塔深入理解递归流程。
  7. cad和html5哪个好,天正CAD和AutoCAD有什么区别,哪个好用?
  8. CMD(windows)操作命令大全
  9. Java面试问题总结归纳
  10. Oracle归档日志使用情况及自动清理
  11. Servlet转发和重定向的异同
  12. 成都 java_成都Java开发程序员薪资多少?
  13. 解读唐朝??雁门勤王,兵不厌诈
  14. 「镁客早报」NASA成立寻找外星人研究小组;CBInsights公布全球32家AI独角兽名单... 1
  15. 2020云盘点:公有云芯基建,AWS、阿里云、紫光云等创新发力
  16. Trutle库练习——叠边形绘制、风轮绘制
  17. lgg8配置_LG新机 G8长什么样?配置如何?一起深入了解一下
  18. POJ--3750 小孩报数问题
  19. iMX6UL之 OpenWRT移植与编译
  20. 婚礼答谢宴ppt模板_婚礼答谢宴司仪主持词模板

热门文章

  1. linux服务器中不支持soap及bcmul函数的结局方法
  2. isblank java_判空我推荐StringUtils.isBlank
  3. 黑客能修改我的花呗额度为负数,让支付宝给我打钱吗?
  4. Photoshop脚本 图层的链接
  5. nginx部署vue项目路径添加前缀
  6. 女生考研频频被他人恶意修改志愿,疑因个人信息泄漏,具体情况如何?
  7. python列表实现栈,Python之列表实现栈的工作功能
  8. wangeditor设置字体_vue 中使用wangeditor 配置字号,无效果
  9. JS 遍历JSON对象中的键值对
  10. (springboot-vue) 前后端交互实现