3. mysql的注解驱动的三种方式_上手spring boot项目(三)之spring boot整合mybatis进行增删改查的三种方式。...
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进行增删改查的三种方式。...相关推荐
- abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之六(三十二)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- solr系列三:solr和spring整合并实现增删改查功能
在这篇文章中将通过代码带大家一步步实现spring和solrj的整合,并实现solrj的增删改查功能. 1.solrj的spring配置如下: <beans xmlns="http:/ ...
- MyBatis的Mapper 代理的增删改查操作(三)
沉迷于黑与白世界中的人,无论怎么挣扎,都逃不过被同化的命运.前世看见了什么,那么今世便是什么. 上一章简单介绍了MyBatis的命名空间方式的增删改查操作(二),如果没有看过,请观看上一章. 一. M ...
- mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...
MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...
- node-red mysql的增删改查_通过curl或者http请求对elasticsearch中的数据进行增删改查...
最近学习elasticsearch的数据存储,整体语法还是比较规则的.可以使用浏览器.postman.命令行等进行操作. elasticsearch官网的解释最官方,请查看下面的地址 1. 查询当前集 ...
- SpringBoot+mysql+mybatis实现增删改查和分页查询功能模块 后端java代码
后端开发环境搭建 远程仓库代码下载 https://gitee.com/cgbylh/CrudDemo.git 1.File->New->Project- 2.选择 Spring Init ...
- springboot整合mybatis增删改查(三):mybatis逆向工程
上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合. 我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够 ...
- MyBatis批量增删改的另外一种思路(推荐)
零.传统拼接SQL语句的弊端 传统上利用Mybatis进行批量操作的方式本质来说是拼接SQL语句,然后交给底层执行,如之前博文而言. 其实这种方式是存在弊端的: 1. SQL语句可能会过长,DB的引擎 ...
- ef增删改查的四种方式
先自定义一个查询语句 int[] nums = new int[7] { 1, 2, 3, 4, 5, 6, 7 };//var onum = from int n in nums where n % ...
最新文章
- shell script
- WIN7 64位系统搭建WINCE6.0系统遇到的问题
- QML控件拖动并靠边停留
- 八十四、堆排序解决TopK问题
- Altium Designer 20,新功能有哪些?
- Vue 打包后打开为空白页面 并且控制台报错‘Failed to load resource: net::ERR_FILE_NOT_FOUND’
- java基础集合类——LinkedList 源码略读
- .NET 6新特性试用 | TryGetNonEnumeratedCount
- 1051 复数乘法(PAT乙级 C++)
- [BZOJ1565]植物大战僵尸
- 人生苦短,喝点python性能鸡汤
- 李萍matlab实验报告,李萍, 张磊, 王垚廷. 基于Matlab的偏微分方程数值计算[J]. 齐鲁工业大学学报, 2017, 31(4): 39-43....
- MySQL数据库(九) 一一 处理重复和SQL注入
- 实习踩坑之路:多线程+多个锁下面导致的数据库状态不对
- 魏兴华_ORACLE优化器革命漫谈
- ZK 在XML编辑器中设置.zul文件
- 【SPSS】SPSS之主成分分析及因子分析
- 网易云音乐下载MP3的方法
- 小米人APK改之理(APK IDE)
- 动词的过去式、过去分词、现在分词
热门文章
- pandas数据处理实践二(排序(sort_index()、sort_values())、连接(Concatenate(连接,串联)和Combine(结合、联合))
- c程序设计语言读书笔记,C程序设计语言读书笔记
- 手机号段对应地区编码_什么是编码器?了解两种类型的编码器
- redis在linux中安装目录,小刀博客园
- 基本数据结构—Trie
- 淘淘商城项目技术点-8:vsftpd
- Codeforces - 474D - Flowers - 构造 - 简单dp
- linux查看有哪些用户连接到本机
- 发现了一个美图看看软件的一个bug
- Happy Birthday to You