1.引入依赖

org.springframework.boot

spring-boot-starter-web

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.1.0

mysql

mysql-connector-java

runtime

2.entity实体类

@TableName(value = "tb_user")//使用mybatis-plus时需要添加,与数据库中的表建立关系

public class SysUser implementsSerializable {

@TableId(type = IdType.AUTO)//使用mybatis-plus时需要添加,主键生成策略

privateLong id;

privateString username;

privateString password;

privateString salt;

privateString avatar;

privateString introduce;

privateString remark;

//省略get,set方法

}

3.创建application.properties配置文件

#DB Configuration数据库信息:

spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql:///test

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.type=com.zaxxer.hikari.HikariDataSource

#spring集成Mybatis环境

#pojo别名扫描包

mybatis.type-aliases-package=cn.zhq.system.entity

#加载Mybatis映射文件

mybatis.mapper-locations=classpath:mapper/*Mapper.xml

# 打印sql

#打印sql到控制台

logging.level.cn.zhq.system.mapper=debug

mybatis.type-aliases-package是实体所在包的位置,mybatis.mapper-locations是配置文件所在的位置。初次使用的时候最好加上打印sql的配置,如果出现错误的话,这样容易找出错误原因。

4.创建UserMapper类

@Mapper

public interfaceUserMapper {

}

5.在spring boot的application加上注解

@EntityScan("cn.zhq.system.entity")//填写 entity类所在包的位置。

加上这个注解后,springboot就可以扫描能实体类。

6.进行增删改查

6.1 使用mapper.xml进行增删改查

6.1.1 编写UserMapper类中的方法

/**

* 根据Name查询用户数据

*

* @param username

* @return

*/

SysUser findByName(String username);

6.1.2  在resources的mapper目录下创建UserMapper.xml配置文件

/p>

"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

select * from tb_user where username = #{username}

使用select标签执行查询语句,使用update标签进行 增,删,改操作。其中 id是UserMapper类中方法的名称,resultType是返回值的类型,parameterType是接收的参数类型。

6.2 使用注解进行增删改查

/**

* 更新用户名

* @param username

*/@Update("update tb_user set username= #{username} where id = #{id}")

void updateByAvatar(String username,Long id);

使用@Update注解后,就无需再编写UserMapper配置文件了,同理@Updae可以进行增删改操作。此外使用@Select进行查询。当进行一对多,多对多关系的查询时,还可以使用@Results注解指定返回结果的数据类型,这里就不细说了。

以上两种方式各有利弊,使用配置文件编写sql语句好处是耦合度低但过于麻烦,使用注解的方式相对于配置文件来说比较简单,但是耦合度高。如果是简单语句,建议是使用注解,如果是复杂语句,使用配置文件的方式。具体使用哪种方式,可以视实际情况而定。

6.3 使用mybatis-plus进行增删改查

mybatis-plus类似于spring data jpa , 内置查询,更新,删除,插入语句,使我们无需再写那些简单的sql语句。

6.3.1 引入依赖

com.baomidou

mybatis-plus-boot-starter

3.2.0

6.3.2 application.yml配置文件

# mybatis-plus

mybatis-plus:

type-aliases-package: cn.zhq.system.entity

mapper-locations: classpath:mapper/*.xml

configuration:

jdbc-type-for-null: null

global-config:

banner: false

type-aliases-package填写Entity实体类所在包的位置。mapper-locations:填写映射文件所在的位置,如果不写的话,在你的resources下的mapper配置文件会报错。

6.3.3 相关service,serviceImpl,mapper类

service:

public interface UserService extends IService{

/**

* 更新

*

* @param sysUser

*/

voidupdate(SysUser sysUser);

}

serviceImpl:

@Service

public class UserServiceImpl extends ServiceImpl implementsUserService {

@Autowired

privateUserMapper userMapper;

@Override

@Transactional

public voidupdate(SysUser sysUser) {

userMapper.updateById(sysUser);

}

}

mapper:

@Mapper

public interface UserMapper extends BaseMapper{

}

虽然我们在UserMapper中没有定义任何方法,但是mybatisPlus集成了很多方法可供我们使用。

执行后,打印的sql语句结果如下

3. mysql的注解驱动的三种方式_上手spring boot项目(三)之spring boot整合mybatis进行增删改查的三种方式。...相关推荐

  1. abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之六(三十二)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  2. solr系列三:solr和spring整合并实现增删改查功能

    在这篇文章中将通过代码带大家一步步实现spring和solrj的整合,并实现solrj的增删改查功能. 1.solrj的spring配置如下: <beans xmlns="http:/ ...

  3. MyBatis的Mapper 代理的增删改查操作(三)

    沉迷于黑与白世界中的人,无论怎么挣扎,都逃不过被同化的命运.前世看见了什么,那么今世便是什么. 上一章简单介绍了MyBatis的命名空间方式的增删改查操作(二),如果没有看过,请观看上一章. 一. M ...

  4. mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...

    MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...

  5. node-red mysql的增删改查_通过curl或者http请求对elasticsearch中的数据进行增删改查...

    最近学习elasticsearch的数据存储,整体语法还是比较规则的.可以使用浏览器.postman.命令行等进行操作. elasticsearch官网的解释最官方,请查看下面的地址 1. 查询当前集 ...

  6. SpringBoot+mysql+mybatis实现增删改查和分页查询功能模块 后端java代码

    后端开发环境搭建 远程仓库代码下载 https://gitee.com/cgbylh/CrudDemo.git 1.File->New->Project- 2.选择 Spring Init ...

  7. springboot整合mybatis增删改查(三):mybatis逆向工程

    上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合. 我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够 ...

  8. MyBatis批量增删改的另外一种思路(推荐)

    零.传统拼接SQL语句的弊端 传统上利用Mybatis进行批量操作的方式本质来说是拼接SQL语句,然后交给底层执行,如之前博文而言. 其实这种方式是存在弊端的: 1. SQL语句可能会过长,DB的引擎 ...

  9. ef增删改查的四种方式

    先自定义一个查询语句 int[] nums = new int[7] { 1, 2, 3, 4, 5, 6, 7 };//var onum = from int n in nums where n % ...

最新文章

  1. shell script
  2. WIN7 64位系统搭建WINCE6.0系统遇到的问题
  3. QML控件拖动并靠边停留
  4. 八十四、堆排序解决TopK问题
  5. Altium Designer 20,新功能有哪些?
  6. Vue 打包后打开为空白页面 并且控制台报错‘Failed to load resource: net::ERR_FILE_NOT_FOUND’
  7. java基础集合类——LinkedList 源码略读
  8. .NET 6新特性试用 | TryGetNonEnumeratedCount
  9. 1051 复数乘法(PAT乙级 C++)
  10. [BZOJ1565]植物大战僵尸
  11. 人生苦短,喝点python性能鸡汤
  12. 李萍matlab实验报告,李萍, 张磊, 王垚廷. 基于Matlab的偏微分方程数值计算[J]. 齐鲁工业大学学报, 2017, 31(4): 39-43....
  13. MySQL数据库(九) 一一 处理重复和SQL注入
  14. 实习踩坑之路:多线程+多个锁下面导致的数据库状态不对
  15. 魏兴华_ORACLE优化器革命漫谈
  16. ZK 在XML编辑器中设置.zul文件
  17. 【SPSS】SPSS之主成分分析及因子分析
  18. 网易云音乐下载MP3的方法
  19. 小米人APK改之理(APK IDE)
  20. 动词的过去式、过去分词、现在分词

热门文章

  1. pandas数据处理实践二(排序(sort_index()、sort_values())、连接(Concatenate(连接,串联)和Combine(结合、联合))
  2. c程序设计语言读书笔记,C程序设计语言读书笔记
  3. 手机号段对应地区编码_什么是编码器?了解两种类型的编码器
  4. redis在linux中安装目录,小刀博客园
  5. 基本数据结构—Trie
  6. 淘淘商城项目技术点-8:vsftpd
  7. Codeforces - 474D - Flowers - 构造 - 简单dp
  8. linux查看有哪些用户连接到本机
  9. 发现了一个美图看看软件的一个bug
  10. Happy Birthday to You