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
效果如下:
上面的对于简单的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的完美融合相关推荐
- SpringBoot整合:Druid、MyBatis、MyBatis-Plus、多数据源、knife4j、日志、Redis,Redis的Java操作工具类、封装发送电子邮件等等
SpringBoot笔记 一.SpringBoot 介绍 1.1.SpringBoot简介 SpringBoot 是一个快速开发的框架, 封装了Maven常用依赖.能够快速的整合第三方框架:简化XML ...
- 【SpringBoot专题】整合mybatis-plus之封装查询参数简化查询
[SpringBoot专题]整合mybatis-plus之封装查询参数简化查询 通常开发过程中,操作数据库是作为后端开发必要掌握的本领,今天分享的是springboot整合mybatis-plus,官 ...
- 搭建第一个SpringBoot工程;SpringBoot整合mybatis;SpringBoot整合Redis-cluster集群;SpringBoot整合EhCache;
写在前头,以下内容主要是为了自己复习之用,如果你有幸看到这篇文章,请不要嫌弃某些地方有所跳跃或省略. 1. 搭建第一个SpringBoot工程 1.1 创建工程 1.2 初始pom.xml文件内容 1 ...
- springboot工程中各个层次的作用+springboot连接数据库的工具汇总+Mybatis的开发方式/语法
下面这个是hibernate的相关工程 下面这个是Mybatis的相关工程 \ 可以看出无论使用哪一种,方式都是一致的. --------------------------------------- ...
- SpringBoot员工管理系统(整合Mybatis+mysql)
SpringBoot员工管理系统(整合Mybatis+mysql) 前部分:https://blog.csdn.net/weixin_43501359/article/details/11271466 ...
- 学习Springboot一之Springboot+Mybatis(注解形式)+Mysql+Web简单Demo
学习SpringBoot,通过Springboot简单配置连接Mysql数据库,采用Mybatis注解方式实现数据库"增.删.改.查",结合Spring web实现页面呈现后,. ...
- 超详细的springBoot学习教程,springboot学习看这篇就够了
springBoot学习 https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/index.html (官方文档) ...
- apache 配置文件内使用 8080 端口_【SpringBoot 框架】- SpringBoot 配置文件
一.SpringBoot配置文件类型 SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话 ,就可以自己编写配置文件进行相应配置,起步依赖spring-bo ...
- 【SpringBoot入门】SpringBoot的配置
SpringBoot的配置文件 一.SpringBoot配置文件分类 二.yaml 概述 三.多环境配置 四.@Value 和 @ConfigurationProperties 五.总结 一.Spri ...
最新文章
- 使用pip安装特定的软件包版本
- java 线程定时器_Java线程之Timer定时器
- 东财mysql数据库系统及应用_2020秋东财《MySQL数据库系统及应用》单元作业一
- js layui跳转页面_【WEB前端开辟】layui的iframe跳转链接与页面按钮跳转相干引见...
- java培训学费_太原java培训班价格表
- 通过汉诺塔深入理解递归流程。
- cad和html5哪个好,天正CAD和AutoCAD有什么区别,哪个好用?
- CMD(windows)操作命令大全
- Java面试问题总结归纳
- Oracle归档日志使用情况及自动清理
- Servlet转发和重定向的异同
- 成都 java_成都Java开发程序员薪资多少?
- 解读唐朝??雁门勤王,兵不厌诈
- 「镁客早报」NASA成立寻找外星人研究小组;CBInsights公布全球32家AI独角兽名单... 1
- 2020云盘点:公有云芯基建,AWS、阿里云、紫光云等创新发力
- Trutle库练习——叠边形绘制、风轮绘制
- lgg8配置_LG新机 G8长什么样?配置如何?一起深入了解一下
- POJ--3750 小孩报数问题
- iMX6UL之 OpenWRT移植与编译
- 婚礼答谢宴ppt模板_婚礼答谢宴司仪主持词模板
热门文章
- linux服务器中不支持soap及bcmul函数的结局方法
- isblank java_判空我推荐StringUtils.isBlank
- 黑客能修改我的花呗额度为负数,让支付宝给我打钱吗?
- Photoshop脚本 图层的链接
- nginx部署vue项目路径添加前缀
- 女生考研频频被他人恶意修改志愿,疑因个人信息泄漏,具体情况如何?
- python列表实现栈,Python之列表实现栈的工作功能
- wangeditor设置字体_vue 中使用wangeditor 配置字号,无效果
- JS 遍历JSON对象中的键值对
- (springboot-vue) 前后端交互实现