SpringBoot集成Mybatis
1.创建SpringBoot工程
根据
http://www.cnblogs.com/vitasyuan/p/8765329.html
说明创建SpringBoot项目。
2.添加相关依赖
在pom.xml文件中添加数据库连接和mybatis的相关依赖,完整的pom文件如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<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>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3.创建测试数据表
创建测试数据库:springbootdemo,并添加以下数据表:
CREATE TABLE `dictionary` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`dict_key` varchar(50) NOT NULL DEFAULT '' COMMENT '字典key',
`dict_value` varchar(50) NOT NULL DEFAULT '' COMMENT 'value',
`parent_id` int(11) NOT NULL COMMENT '上级节点id',
`description` varchar(100) NOT NULL DEFAULT '' COMMENT '描述信息',
PRIMARY KEY (`id`),
KEY `Index_dictKey_parentId` (`dict_key`,`parent_id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8mb4 COMMENT='数据字典表';
4.添加数据库相关配置
数据库配置使用多环境配置,具体多环境配置方法参考:http://www.cnblogs.com/vitasyuan/p/8782612.html
在application-dev.properties配置文件中添加数据库相关配置:
#数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/springbootdemo
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
在application.properties文件中添加使用dev环境配置文件的内容:
#配置使用的配置环境,值为application-{profile}.properties中的profile值
spring.profiles.active=rc
#mapper文件的路径
mybatis.mapper-locations=classpath:mapper/**/*.xml
5.添加mapper文件和接口
在resource文件夹下添加mapper/demo-server文件夹,并添加dictionary.xml配置文件,配置文件内容如下:
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.example.demo.business.dictionary.dao.DictionaryDao">
<resultMap id="DictionaryResultMap" type="com.example.demo.business.dictionary.Dictionary">
<result property="id" column="id"></result>
<result property="dictKey" column="dict_key"></result>
<result property="dictValue" column="dict_value"></result>
<result property="parentId" column="parent_id"></result>
<result property="description" column="description"></result>
</resultMap>
<select id="list" resultMap="DictionaryResultMap">
SELECT * FROM `dictionary`
</select>
<select id="listChildrenByKey" resultMap="DictionaryResultMap">
SELECT * FROM dictionary where parent_id= (select id from dictionary where dict_key= #{key})
</select>
<delete id="delete" parameterType="int">
delete from dictionary where id = #{id}
</delete>
<insert id="insert" parameterType="com.example.demo.business.dictionary.Dictionary">
INSERT INTO `dictionary`(`dict_key`,`dict_value`,`parent_id`,`description`)
VALUES(#{dictKey}, #{dictValue}, #{parentId}, #{description})
</insert>
</mapper>
6.添加controller测试数据库连接
创建controller类,代码如下:
@RestController
@RequestMapping(value = "/dictionary")
public class DictionaryController {
@Autowired
private DictionaryDao dictionaryDao;
@GetMapping
public Response<List<Dictionary>> get(){
Response<List<Dictionary>> response = new Response<>();
response.setData(dictionaryDao.list());
return response;
}
}
启动服务,在浏览器中输入访问url:
http://localhost:8080/demo/dictionary
返回以下数据:
{
"code": 200,
"message": "Success",
"data": [
{
"id": 27,
"dictKey": "test",
"dictValue": "testvalue",
"parentId": 1,
"description": "test"
},
{
"id": 30,
"dictKey": "test",
"dictValue": "testvalue",
"parentId": 1,
"description": "test"
},
{
"id": 32,
"dictKey": "test",
"dictValue": "testvalue",
"parentId": 1,
"description": "test"
},
{
"id": 33,
"dictKey": "test",
"dictValue": "testvalue",
"parentId": 1,
"description": "test"
}
]
}
表示数据库配置成功。
SpringBoot集成Mybatis的更多相关文章
- springboot集成mybatis(二)
上篇文章<springboot集成mybatis(一)>介绍了SpringBoot集成MyBatis注解版.本文还是使用上篇中的案例,咱们换个姿势来一遍^_^ 二.MyBatis配置版(X ...
- springboot集成mybatis(一)
MyBatis简介 MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyB ...
- SpringBoot 集成Mybatis 连接Mysql数据库
记录SpringBoot 集成Mybatis 连接数据库 防止后面忘记 1.添加Mybatis和Mysql依赖 <dependency> <groupId>org.mybati ...
- SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版)
SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版) ================================ ©Copyright 蕃薯耀 2 ...
- SpringBoot集成Mybatis并具有分页功能PageHelper
SpringBoot集成Mybatis并具有分页功能PageHelper 环境:IDEA编译工具 第一步:生成测试的数据库表和数据 SET FOREIGN_KEY_CHECKS=0; ...
- Springboot集成mybatis(mysql),mail,mongodb,cassandra,scheduler,redis,kafka,shiro,websocket
https://blog.csdn.net/a123demi/article/details/78234023 : Springboot集成mybatis(mysql),mail,mongodb,c ...
- BindingException: Invalid bound statement (not found)问题排查:SpringBoot集成Mybatis重点分析
重构代码,方法抛出异常:BindingException: Invalid bound statement (not found) 提示信息很明显:mybatis没有提供某方法 先不解释问题原因和排查 ...
- SpringBoot集成Mybatis配置动态数据源
很多人在项目里边都会用到多个数据源,下面记录一次SpringBoot集成Mybatis配置多数据源的过程. pom.xml <?xml version="1.0" encod ...
- SpringBoot集成Mybatis实现多表查询的两种方式(基于xml)
下面将在用户和账户进行一对一查询的基础上进行介绍SpringBoot集成Mybatis实现多表查询的基于xml的两种方式. 首先我们先创建两个数据库表,分别是user用户表和account账户表 ...
- SpringBoot集成MyBatis的Bean配置方式
SpringBoot集成MyBatis的Bean配置方式 SpringBoot是一款轻量级开发的框架,简化了很多原先的xml文件配置方式,接下来就介绍一下如何不适用XML来配置Mybatis spri ...
随机推荐
- Pythonic
这个词翻译过来就是 这很python,其产生的目的就是写出更简洁的,没有冗余的python代码. 1.元素交换 a, b = b, a 看到网上有人解释的很好,首先,建立元组的重点不在于括号'()', ...
- 爬虫-request以及beautisoup模块笔记
requests模块 pip3 install requests res = requests.get('') res.text res.cookies.get_dict() res.content ...
- IPFS: NAT traversal(NAT穿越)
IPFS是一个p2p网络,那么一定绕不开的一个问题就是NAT穿越.之前的文章里面也提到过IPFS网络连通性使用的ICE NAT穿越框架,本文简单介绍一下什么是NAT. 为什么有NAT技术? NAT ...
- Atlas安装配置
准备环境 192.168.1.1(Altas) 192.168.1.2(MySQL主) 192.168.1.3(MySQL从) 官方链接:https://github.com/Qihoo360/Atl ...
- Django基础(二):环境配置
前戏 WEB框架简介 具体介绍Django之前,必须先介绍WEB框架等概念. web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子. 一般web框 ...
- 基于 Hexo + GitHub Pages 搭建个人博客(二)
在 基于 Hexo + GitHub Pages 搭建个人博客(一) 这篇文章中,我们已经知道如何使用 Hexo + GitHub Pages 搭建一个个人博客,GitHub 为我们提供了免费的域名和 ...
- macOS下利用dSYM文件将crash文件中的内存地址转换为可读符号
一.使用流程 Windows下的程序运行崩溃时,往往可以利用pdb文件快速解析出程序崩溃的具体位置,甚至可以对应到源代码的具体行数.macOS下的symbolicatecrash也具备相应的功能.对应 ...
- 1-4 criteria用法大全
Criteria的完整用法 QBE (Query By Example) Criteria cri = session.createCriteria(Student.class); cri.add(E ...
- poj 1562 dfs
http://poj.org/problem?id=1562 #include<iostream> using namespace std; ,m=,sum=; ][]; ][]={-,, ...
- spring boot多环境配置 直接上代码
spring: profiles: active: test jackson: date-format: yyyy-MM-dd HH:mm:ss datasource: dri ...