service调mapper

news2024/9/21 14:35:51

为什么要用连接池

springboot项目连接池是什么

数据库如何配置

数据库如何开发

步骤:

1、先得到这个类hikariDataSource对象

HikariDataSource hikariDataSource = new HikariDataSource();

2、用这个类调set方法获取url,name,pwd等

//连接数据库的基本信息
HikariDataSource hikariDataSource = new HikariDataSource();
hikariDataSource.setDriverClassName(driverName);
hikariDataSource.setJdbcUrl(url);
hikariDataSource.setUsername(name);
hikariDataSource.setPassword(password);
//连接池内的连接数量
hikariDataSource.setMaximumPoolSize(maxPoolSize);
hikariDataSource.setMinimumIdle(minIdle);

3、建立主库/从库的类方法-这里的内容都是在配置文件里

public HikariDataSource masterDataSource()

4、增加注解-让配置文件在这个类中生效

//@ConfigurationProperties(prefix = "spring.datasource.master")

5、在方法上添加value注解

bean的注解是


为什么要建立mapper ?映射?

操作用户有关的方法,所以需要mapper和service名称一致,usermapper

mapper注解?

mybaits-plus
    认识: 是mybatis的增强版,是持久层的框架(@Mapper标记的接口下面的方法和sql的关系存储);
    配置: pom.xml配置mybatis-plus-boot-starter

源码:
    @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来写代码(注意返回值是实体类这种)

怎么在方法里写sql--源码里有示例,可以直接粘贴过来,

按照示例进行编写

怎么新建表--建完后在这里写login业务的对应sql


定位完这个mapper类后再怎么使用--service

用user service的login方法---- user mapper操作数据库sql

  1. 传入参数---所以service里的参数,要传给mapper里进行操作数据库
  2. 返回结果---调用UserMapper操作数据库下面的login方法返回结果,这里再做判断

 


为什么设置user类?

因为sql里*是返回全部内容,所以这里不单单是返回uid,所以返回结果不能用string,需要用key=value的格式存放数据 所以新建一个类,这个类是和列头内容一一对应

@data的注解是用来代替getset方法

@NoArgsConstructor无参空构造

@AllArgsConstructor所有参数构造

其中auto是类型自增的格式

所以用mapper里的getinfo增加返回- user,就可以使用这里的key=value的内容

 service返回结果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1995349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动态规划数学问题前缀思想

前言:看到这个题目,感觉有点像动态规划,因为数据量有点大,不可能去枚举所有的情况 我们定义 dp[ i ] 为以 a[ i ] 结尾的方案数,用变量qian 记录 i 之前的所有枚举的情况 如果 a[ i ] 是奇数,那么 qian q…

浅谈面向数据报的协议-UDP协议

1.什么是网络协议 协议用通俗的话来说就是约定,因为计算机之间的传输媒介是光信号和电信号. 通过 "频率" 和 "强弱" 来表示 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双方的数据格式. 计算机生产厂商有很多; 计算机操作系统, …

AI人工智能的发展历史

人工智能的发展历史 在人工智能(AI)的发展历史中,我们见证了一系列巨大的突破和进展。人工智能是一门研究如何使计算机能够模仿人类智能的科学与技术。其发展可以追溯到1950年代,而如今,AI已经渗透到我们生活的各个领域…

JNPF快速开发平台让业务活起来

在当前数字化转型的浪潮中,企业正面临着前所未有的挑战,这些挑战主要体现在两个方面:一是需要迅速地响应市场上的各种变化,二是必须不断提升业务流程的效率。传统的软件开发模式通常伴随着时间消耗长、成本投入高以及难以迅速适应…

Docker网络模式及通信

一、Docker默认的网络通信 1.1 Docker安装后默认的网络设置 Docker服务器安装完成之后,默认在每个宿主机会生成一个名称为docker0的网卡,其IP地址都是172.17.0.1/16 [rootubuntu1804 ~]#apt -y install bridge-utils [rootubuntu1804 ~]#brctl show 另…

2024年新SCI顶刊算法红嘴蓝鹊优化器RBMO优化Transformer模型的多变量时间序列预测

matlab R2024a以上 一、数据集 二、2024年新SCI顶刊算法红嘴蓝鹊优化器RBMO 红嘴蓝鹊优化算法(Red-billed blue magpie optimizer, RBMO)是一种新型的元启发式算法(智能优化算法),灵感来源于红嘴蓝鹊的合作、高效的捕食行为。 该成果由Shen…

005集——运算符和循环——C#学习笔记

C# 提供了许多运算符。 其中许多都受到内置类型的支持,可用于对这些类型的值执行基本操作。 这些运算符包括以下组: 算术运算符,将对数值操作数执行算术运算比较运算符,将比较数值操作数布尔逻辑运算符,将对 bool 操作…

基于医院临床数据中心而建立的ADR药品智能监测上报系统,源码支持二次开发

ADR监测上报系统是基于医院临床数据中心而建立,运用信息技术实现药品不良反应的智能监测、报告管理、知识库查询、统计分析等功能。 系统自动提取不良反应报告数据,主动实时监测临床发生的不良反应,第一时间反馈到ADR监测组,及时…

邀请函 I 松下信息和望繁信科技邀您参加「数智时代下大数据应用的“道”与“术”」闭门会议

在数字化浪潮席卷全球的今天,大数据与智能化的结合成为企业成功的关键。为了深入探讨这一重要议题,松下信息系统(上海)有限公司(简称“松下信息”)与上海望繁信科技有限公司(简称“望繁信科技”…

2024年最新AI算力厂商排名!

随着人工智能技术的飞速发展,AI算力已成为衡量一个国家或企业在AI领域竞争力的重要指标。2024年,全球AI算力领域再度迎来新的突破与变革,不仅体现在技术创新的深度和广度上,更在应用场景和市场价值上展现出巨大的潜力。 众厂商排名…

扩展01:企业级Nginx+Keepalived双主架构实战

NginxKeepalived主备架构总是会有一台服务器处于空闲状态,这样会造成资源的浪费,所以为了能够将两台服务器都利用起来,我们需要借助NginxKeepalived双主架构来实现。即是对外两个VIP地址,同时接收请求。 一:Nginxkeep…

生成订单幂等性(防止订单重复提交)

订单唯一性(防止重复下单)方案 重复下单产生原因: 客户端原因: 比如下单的按键在点按之后,在没有收到服务器请求之前,按键的状态没有设为已禁用状态,还可以被按。又或者,在触摸屏下,用户手指…

15秒完成作文自动批阅!璞公英与恩施三中正式签约试点,AI 大模型自动批阅+精准教学助力学校教育升级!

在国家大力推动教育数字化战略行动的浪潮中,通过科技创新赋能教育,促进教育公平与质量双提升的重要签约仪式,于恩施市第三高级中学隆重举行。一直以来,恩施市第三高级中学积极寻求创新与突破,引入璞公英的先进教育技术…

MyBatis动态SQL标签2

4.choose (when, otherwise)标签是使用举例 类似switch...case,从上到下匹配,找到匹配的条件,就结束匹配其他的! 5.set标签是使用举例 set这个标签是用在更新操作上的 set标签代替sql中的set关键字,可以把set语句后多…

DC-8靶机渗透测试

DC-8靶机 文章目录 DC-8靶机信息收集web渗透获取权限权限提升靶机总结 信息收集 1.nmap扫描出主机IP为192.168.78.156 开放80和22端口,没扫出来什么漏洞,但是发现robots.txt文件,给出了后台登录地址/usr/login web渗透 1.登陆到主页发现是…

Java有哪些数据类型?

Java有哪些数据类型 1. 基本数据类型 2. 引用数据类型 3. 总结 🎈边走、边悟🎈迟早会好 Java 中的数据类型分为两大类:基本数据类型(primitive types)和引用数据类型(reference types)。 …

代发考生战报:8月6号 西安 ,HCIE存储H13-629考试通过

代发考生战报:8月6号 西安 ,HCIE存储H13-629考试通过,目前这个考试变题了,我找客服买的包过服务,有老师指导,考试通过了,里面的新题我看了,我是一点也不会,自己考的还是不…

Java代码混淆加密之Xjar

使用背景 代码安全性需求:在交付给客户或第三方时,保护源代码不被泄露或反编译是许多企业的核心需求。尤其是在竞争激烈的市场中,代码泄露可能导致严重的经济损失。 传统工具的局限性:虽然有很多混淆和加密工具,比如 …

【学习笔记】用线段树维护区间计数问题

前言 简单的区间计数问题可能直接推式子就行了。 但有些问题必须要数据结构维护。线段树就是一个比较好的处理区间的数据结构。 Gym102222L 思路 满足条件的区间特征: max ⁡ { a i } − min ⁡ { a i } 1 − c n t 0 \max\{a_i\}-\min\{a_i\}1-cnt0 max{ai​}…

uniapp离线打包热更新失败-AndroidStudio离线打包apk后无法下载打开-热更新失败-plus.runtime.install失败

效果图 仅安卓 前言 1.plus.runtime.install一直fail(20240808), uni.openDocument可以打开本地apk文件 2.权限问题需小心 跑通前提 1.先确定apk地址有效,浏览器中手动下载可安装 2.确保已添加离线打包AndroidStudio的“android.permission.INSTALL_PACKAGES”权…