当前位置: 首页 > article >正文

操作数据库

目前service层方法,从库借用连接,操作数据库sql,先写操作数据库的代码

1、认识:mybatis-plus源码类是mybatis的增强版,是持久层的框架(mapper标记的接口下面的方法和sql的关系存储):

2、配置:pom.xml配置mybatis-plus-boot-starter

3、源码-注解类

@Mapper     标记在接口上,让此接口作为MyBatis mapper文件,此接口内部可以定义sql
@Select     标记在方法上,主要做查询的,变量value=查询的sql
@Insert     标记在方法上,主要做插入的,变量value=insert的sql
@Delete     标记在方法上,主要做删除的,变量value=delete的sql
@Update     标记在方法上,主要做更新的,变量value=update的sql
@TableName  标记在类上,变量value=数据库标名,作用是类和表对应
@TableId    标记在属性上,变量value=表主键,type=自增,作用是类属性和表主健对应
@TableField 标记在属性上,变量value=表的某个列,作用是类属性和表某列对应

步骤:

1、@mapper标记接口+在spring库下建相关表

2、据service层方法,再结合注解@Select来写代码(使用实体类来定义属性)

配置-在pom文件中

新建mapper类-新建的是接口类

引入@mapper 注解,因这个注解需要在新的类上,所以新建包新建类

作用:标记在接口上,让此接口作为MyBatis mapper文件,此接口内部可以定义sql

@select注解

 

UserService的login---->借用连接---->UserMapper操作数据库sql的login
UserService的getinfo---->借用连接---->UserMapper操作数据库sql的getinfo

 login方法的sql怎么写

根据数据库的内容一一对应

@Select("select count(*) from user where name=#{name} and passwd=#{pwd}")
int login(String name,String pwd);

怎么构建实体类

getinfo方法的sql怎么写

因为userservice传入的是int uid,在数据库里id=uid,需要一一对应

为什么不需要上边的样式,是因为这个是对整个表进行查询,所以select 跟*

这个*代表:三列

所以返回值应该写什么,因为*是返回整个表,所以这里的返回值是一整个表


创建一个实体类

映射到一个对象上,需要新建一个model包-这里存放的是模型,所以设置user,对应数据库里表内容(列),因为这三个属性对应的数据类型如下

所以在代码中需要定义属性

设置getset方法,使用@data注解(添加setget方法等)

增加无参空构造@NoArgsConstructor

增加所有参数构造@AllArgsConstructor

增加数据库表名,这里对应spring数据库内的user表

增加表主键标识,因为组建是递增的对应,所以对应user表中的主键id

字符串列,用一个新的注解@tableField是表字段标识,就是列的标识,代码中的name对应数据库的name

总的


所以现在usermapper里的getinfo方法--返回值是这个user类

但存储数据有多种,可以使用map存储数据,也可以使用实体类

总结


http://www.kler.cn/news/313225.html

相关文章:

  • web前端-HTML常用标签-综合案例
  • kafka动态认证 自定义认证 安全认证-亲测成功
  • 【C#基础】函数传参大总结
  • 算法题总结(一)——二分查找专题
  • [深度学习]神经网络
  • 基于单片机热敏电阻PT100温度控制系统设计
  • SQL编程题复习(24/9/19)
  • 安装Kali Linux后8件需要马上安排的事
  • 门控循环单元(GRU)
  • MySQL高阶1873-计算特殊奖金
  • 【JS】ESMoudle机制与符号绑定
  • 传知代码-多示例AI模型实现病理图像分类
  • 加密与安全_HTTPS TLS 1.2 连接(RSA 握手)的整个过程解读
  • 前端面试CSS常见题目
  • 机器学习之非监督学习(四)K-means 聚类算法
  • 【Docker Nexus3】maven 私库
  • JAVA8新特性——Optional
  • Dockerfile部署xxljob
  • FactualSceneGraph场景图生成
  • OpenAI或于9月24日发布ChatGPT高级语音模式
  • 小白src挖掘 | 记某证书站的虚拟仿真实验平台
  • 提升效率的AI工具集 - 轻松实现自动化
  • ValueError: pic should not have > 4 channels. Got XXX channels.
  • navicat无法连接远程mysql数据库1130报错的解决方法
  • 书生·浦语作业集合
  • AI学习指南深度学习篇-Adam超参数调优与性能优化
  • 神经网络推理加速入门——一个例子看懂流水
  • Redis基础(数据结构和内部编码)
  • (黑马点评)八、实现签到统计和uv统计
  • 使用 Rust 和 wasm-pack 开发 WebAssembly 应用