(二十)SpringBoot之集成mybatis:使用mybatis注解
一、使用mybatis注解的集成
1.1 引入maven依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.2</version>
</dependency>
<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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
1.2 配置application.properties
# mysql
spring.datasource.url=jdbc:mysql://localhost/db_boot?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver logging.level.com.shyroke.mapper=debug
- logging.level.com.shyroke.mapper=debug表示打印出sql语句 logging.level.mapper所在包
1.3 实体类
package com.shyroke.bean; import java.io.Serializable;
import java.util.Date; import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table; public class UserBean implements Serializable { /**
*
*/
private static final long serialVersionUID = 1L; private Integer id; private String userName; private String passWord; private Date createTime; //省略getset和toString方法 }
1.4 编写控制器
package com.shyroke.controller; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import com.shyroke.bean.UserBean;
import com.shyroke.mapper.UserMapper; @Controller
@RequestMapping(value = "/")
public class UserController { @Autowired
private UserMapper userMapper; @RequestMapping(value="/users")
@ResponseBody
public List<UserBean> getUsers() { List<UserBean> userList = userMapper.getUsers(); return userList; } @ResponseBody
@RequestMapping(value="/update")
public List<UserBean> update() {
UserBean user=new UserBean();
user.setId(1);
user.setUserName("updateName");
user.setPassWord("123");
user.setCreateTime(new Date());
userMapper.update(user);
return userMapper.getUsers(); } @ResponseBody
@RequestMapping(value="/del")
public List<UserBean> del(){ userMapper.del(1); return userMapper.getUsers();
} @ResponseBody
@RequestMapping(value="add")
public List<UserBean> add(){ UserBean user=new UserBean();
user.setUserName("test");
user.setPassWord("111");
user.setCreateTime(new Date()); userMapper.save(user);
return userMapper.getUsers();
} }
1.5 编写mapper
package com.shyroke.mapper; import java.util.List; import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.type.JdbcType; import com.shyroke.bean.UserBean; @Mapper
public interface UserMapper { /**
* 获取所有用户
*
* @return
*/
@Select(value = "select * from users")
@Results(value = { @Result(column = "user_name", property = "userName", jdbcType = JdbcType.VARCHAR),
@Result(column = "pass_word", property = "passWord", jdbcType = JdbcType.VARCHAR),
@Result(column = "create_time", property = "createTime", jdbcType = JdbcType.DATE) })
List<UserBean> getUsers(); /**
* 修改用户信息
*
* @param user
*/
@Update("update users set user_name= #{userName},pass_word=#{passWord},create_time=#{createTime} where id=#{id}")
void update(UserBean user); /**
* 删除用户
*
* @param id用户id
*/
@Delete("delete from users where id=#{id}")
void del(int id); /**
* 新增一条用户信息
*
* @param user
*/
@Insert("insert into users(user_name,pass_word,create_time) values(#{userName},#{passWord},#{createTime})")
void save(UserBean user); }
1.6 结果




(二十)SpringBoot之集成mybatis:使用mybatis注解的更多相关文章
- 面渣逆袭:二十二图、八千字、二十问,彻底搞定MyBatis!
大家好,我是老三,面渣逆袭系列继续,这节我们的主角是MyBatis,作为当前国内最流行的ORM框架,是我们这些crud选手最趁手的工具,赶紧来看看面试都会问哪些问题吧. 基础 1.说说什么是MyBat ...
- [二十]SpringBoot 之 (多)文件上传
(1)新建maven Java project 新建一个名称为spring-boot-fileuploadmaven java项目 (2)在pom.xml加入相应依赖: <project xml ...
- (二十一)SpringBoot之集成mybatis:使用mybatis xml
一.引入maven依赖 <dependencies> <dependency> <groupId>org.springframework.boot</grou ...
- springboot集成redis(mybatis、分布式session)
安装Redis请参考:<CentOS快速安装Redis> 一.springboot集成redis并实现DB与缓存同步 1.添加redis及数据库相关依赖(pom.xml) <depe ...
- SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版)
SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版) ================================ ©Copyright 蕃薯耀 2 ...
- MyBatis基础入门《二十》动态SQL(foreach)
MyBatis基础入门<二十>动态SQL(foreach) 1. 迭代一个集合,通常用于in条件 2. 属性 > item > index > collection : ...
- springboot集成mybatis及mybatis generator工具使用
原文链接 前言mybatis是一个半自动化的orm框架,所谓半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernat ...
- springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用
前言 mybatis是一个半自动化的orm框架,所谓半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完 ...
- 在springboot中集成mybatis开发
在springboot中利用mybatis框架进行开发需要集成mybatis才能进行开发,那么如何在springboot中集成mybatis呢?按照以下几个步骤就可以实现springboot集成myb ...
- SpringBoot系列(十四)集成邮件发送服务及邮件发送的几种方式
往期推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)web静 ...
随机推荐
- CRF 初步了解
国外有一个很著名的条件随机场的教程,是英文的,原文: http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields ...
- openstack 基镜像展开过程
- 将bat文件注册成为系统服务
第一章 注册系统服务准备 1.1 注册系统服务前准备 1.1.1 涉及第三方软件 Bat_To_Exe_Converter.exe (将*.bat文件转化为可执行*.exe文件) insts ...
- VS code写stm32
第一次在知乎写博客,献丑了. VS code写stm32 今天实在觉得KEIL太丑,突然想到VS code也可以实现STM32代码的编写,遂决定写一个文章,把VScode变成一个STM32的IDE ...
- iOS 点击空白处收回键盘的几个简单代码
//收回键盘1 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [self.view.subviews enumer ...
- LeetCode_35. Search Insert Position
35. Search Insert Position Easy Given a sorted array and a target value, return the index if the tar ...
- Windows server 2008 R2 桌面服务器管理器打开提示:试图引用不存在的令牌
来源:https://social.technet.microsoft.com/Forums/zh-CN/90f376a3-2b52-46c1-be34-4a2dbf4fdea2/winserver2 ...
- 【动手学深度学习】Jupyter notebook中 import mxnet出错
问题描述 打开d2l-zh目录,使用jupyter notebook打开文件运行,import mxnet 出现无法导入mxnet模块的问题, 但是命令行运行是可以导入mxnet模块的. 原因: 激活 ...
- Jenkins备份插件backup
这个插件可以备份Jenkins的JENKINS_HOME目录,并恢复,但是版本太旧了. 有一些其他插件可以定时备份,搜索Backup https://www.cnblogs.com/cxwblog/p ...
- darknet标签转化为COCO标签
import sys import json import cv2 import os import shutil dataset = { "info": { "desc ...