java mysql传入string数组返回string数组的简单写法
一、前言
最近有个需求,需要一个传入string数组返回string数组的sql逻辑。
懒得封装成javabean了,于是就写了一个简单的样例,总结下。
二、代码
1.mapper.java,可以这样写:
public interface MyMapper {String[] findUserIdsByStudentIds(String[] studentIds);}
2.mapper.xml,可以这样写:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.my.mapper.MyMapper "><select id="findUserIdsByStudentIds" resultType="java.lang.String" parameterType="java.lang.String"><![CDATA[ SELECT user_id FROM mytable A ]]><where>student_id IN<foreach collection="array" item="item" open="(" separator="," close=")">#{item}</foreach></where></select></mapper>
这样,例如传入['1','2'],就会执行:
SELECT user_id FROM mytable A where student_id IN ('1','2')
因为只查询一个字段,所以返回多行时就能返回string数组。(返回1行也是string数组)
相关文章:
java mysql传入string数组返回string数组的简单写法
一、前言 最近有个需求,需要一个传入string数组返回string数组的sql逻辑。 懒得封装成javabean了,于是就写了一个简单的样例,总结下。 二、代码 1.mapper.java,可以这样写: public interface MyMapper {String[] …...
【PHP】PHP基本语法
1、PHP标记 当解析一个文件时,PHP 会寻找起始和结束标记,也就是 <?php 和 ?>,告诉 PHP 开始和停止解析二者之间的代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP…...
SystemVerilog interface详细介绍
1. Interface概念 System Verilog中引入了接口定义,接口与module 等价的定义,是要在其他的接口、module中直接定义,不能写在块语句中,跟class是不同的。接口是将一组线捆绑起来,可以将接口传递给module。 2. 接口的优…...
计网第四章(网络层)(三)
IPV4地址的应用规划: 定长的子网掩码FLSM: 使用同一个子网掩码划分子网,每个子网所分配的IP地址数量相同,造成IP地址的浪费。 变长的子网掩码VLSM: 使用不同的子网掩码划分子网,每个子网所分配的IP地址…...
python学习1之安装
前言 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。由于3.x版越来越普及,我们的教程将以最新的Python 3.9版本为基础。 1、下载 官网地址 https://www.python.org/downloads/ 2、安装 点击…...
Autofac在WebApi,Winform中应用
安装注意事项 使用AOP的时候需要安装Autofac.Extras.DynamicProxy,如果发现VS老是提示报错,需要把VS重启下才可以识别。 WebApi 注意事项:WebApi中多一个ApiController中构造注入功能。 注入和AOP拦截 var siteNameList ClassHelper.GetConstants(typeof(SiteName));//创建…...
uview ui 查看版号
版本查询2种方式 有两种方式可以查询到正在使用的uView的版本: // 通过console.log打印的形式 console.log(uni.$u.config.v);// 可以查阅uView的配置文件得知当前版本号,具体位置为: /uview-ui/libs/config/config.js...
Python 爬虫网页图片下载到本地
您可以使用Python的requests库来获取网页的源码,使用BeautifulSoup库来解析HTML,并使用urllib库来下载图片到本地。下面是一个示例代码: import requests from bs4 import BeautifulSoup import urllib # 获取网页源码 url https://examp…...
PyQt open3d 加载 显示点云
PyQt加载 显示点云,已经有三种方式,使用 open3d; 使用 vtk; 使用 pcl; 下面是使用 open3d: import sys import open3d as o3d import numpy as np import pyqtgraph.opengl as gl from PyQt5.QtWidgets import QApplication, QVBoxLayout, QWidget, QFi…...
Linux搭建SSLVpn
安装http、ssl服务 编辑http配置文件 修改http的136行,276行以及990行 1、136行将监听端口注释 2、276行和990行修改为自己的域名和要访问的端口 修改http文档最后那部分 新添ssl配置信息,将端口修改为443(截图错了server.key应该放在/etc/…...
Qt5升级到Qt6分步迁移教程
Qt框架的一个新的长期支持版本6.5最近发布。它为以前的版本引入了许多修复、改进和新功能。有些可能对您的应用程序有用(如果不是现在,可能会在将来),因此最好将应用程序迁移到最新版本的框架。 仍然有许多应用程序仍在使用Qt 5&…...
多线程学习之线程池
线程状态 线程状态具体含义NEW一个尚未启动的线程的状态。也称之为初始、开始状态。线程刚被创建,但是并未启动。还没调用start方法。MyThread t new MyThread()只有线程对象,没有线程特征。RUNNABLE当我们调用线程对象的start方法,那么此时…...
Elasticsearch基础
1、简介 Elasticsearch是实时的分布式搜索分析引擎,内部使用Lucene做索引与搜索。 何谓实时?新增到 ES 中的数据在1秒后就可以被检索到,这种新增数据对搜索的可见性称为“准实时搜索”。分布式意味着可以动态调整集群规模,弹性扩…...
论文阅读:Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
前言 要弄清MAML怎么做,为什么这么做,就要看懂这两张图。先说MAML**在做什么?**它是打着Mate-Learing的旗号干的是few-shot multi-task Learning的事情。具体而言就是想训练一个模型能够使用很少的新样本,快速适应新的任务。 定…...
基于Web的旅游推荐网站设计与实现(论文+源码)_kaic
【摘 要】 当前,众所周知的旅游产业已慢慢成为全世界经济领域中最具代表影响力和最大领域的产业之一,互联网的蓬勃发展也为旅游业带来了新的机遇。并且旅游网站已经逐渐成为管理旅游信息的主要模式。因此,开发一个稳定性良好、可用性强的旅游…...
继承AndroidView Model的错误
ViewModelProvider(this)[RegisterViewModel::class.java] 一行简单的代码,总是报这个错误 Caused by: java.lang.NoSuchMethodException: com.xinfa.registerlogin.viewmodel.LoginViewModel. [class android.app.Application] 经过一下午的思索,终于找…...
智慧互联,有序充电--多场景充电
企业微电网能效及充电管理解决方案 安科瑞 崔丽洁 1、企业需求(目的地充电) 站在企业的角度,除了要主动承担碳达峰、碳中和的社会责任,也需要考虑自身的经营和利润,需要结合企业的现状进行改造 企业微电网平台——与…...
yum install libreoffice‘ returned a non-zero
The command ‘/bin/sh -c yum install libreoffice’ returned a non-zero code: 1 1. 异常信息 Is this ok [y/d/N]: Exiting on user command Your transaction was saved, rerun it with:yum load-transaction /tmp/yum_save_tx.2023-08-28.13-42.EftXfl.yumtx The comman…...
Linux知识点 -- 网络基础(一)
Linux知识点 – 网络基础(一) 文章目录 Linux知识点 -- 网络基础(一)一、网络发展二、协议1.OSI七层模型2.TCP/IP五层(或四层)模型 三、网络传输基本流程1.局域网中的两台主机通信流程2.跨网段的两台主机间…...
【leetcode刷题之路】剑指Offer(4)——分治+排序算法+动态规划
文章目录 8 分治算法8.1 【递归】剑指 Offer 07 - 重建二叉树8.2 【递归】【快速幂】剑指 Offer 16 - 数值的整数次方8.3 【递归】剑指 Offer 33 - 二叉搜索树的后序遍历序列8.4 【递归】【分治】剑指 Offer 17 - 打印从1到最大的n位数8.5 【归并排序】【分治】剑指 Offer 51 -…...
Katib:Kubernetes原生机器学习自动超参数调优实战指南
1. 项目概述:当机器学习遇上Kubernetes的自动化调优引擎 如果你在Kubernetes上跑过机器学习训练任务,大概率会碰到一个灵魂拷问:模型超参数怎么调?是手动一遍遍改代码、提交任务、等结果,还是写一堆脚本去自动化&#…...
ARM Cortex-A55与A73核心差异解析及RK3568嵌入式开发实战
1. 从核心到板卡:理解Cortex-A55与Cortex-A73的定位分野在嵌入式开发和智能硬件选型时,我们常常会接触到ARM Cortex-A系列的各种内核型号,比如Cortex-A55和Cortex-A73。乍一看,它们都是基于ARMv8-A架构的64位处理器核心࿰…...
从零开始玩转BeagleBone Black:手把手教你配置Cloud9在线开发环境与BoneScript
从零开始玩转BeagleBone Black:手把手教你配置Cloud9在线开发环境与BoneScript 嵌入式开发的世界里,BeagleBone Black(简称BBB)就像一位低调的实力派演员——它没有树莓派那么高的曝光率,却凭借其强大的扩展性和丰富的…...
靠谱的沈阳塑胶地板供应商
在当前的市场环境下,选择性价比高的沈阳塑胶地板已成为众多企业和个人用户的共同诉求。随着技术的不断进步和市场竞争的加剧,用户不仅关注产品的价格,更注重其性能、耐用性和售后服务。本次推荐的5家供应商,均在沈阳塑胶地板领域表…...
Bayard查询DSL完全手册:9种查询类型详解与实战案例
Bayard查询DSL完全手册:9种查询类型详解与实战案例 【免费下载链接】bayard A full-text search and indexing server written in Rust. 项目地址: https://gitcode.com/gh_mirrors/ba/bayard Bayard是一个使用Rust编写的高性能全文搜索和索引服务器…...
为初创团队搭建统一AI开发环境并控制大模型调用成本
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为初创团队搭建统一AI开发环境并控制大模型调用成本 对于初创技术团队而言,快速、灵活地利用大模型能力是提升研发效率…...
Java反序列化漏洞利用:从原理到实战的回显技术详解
1. 项目概述与核心价值“Java反序列化回显方法”这个标题,乍一看可能有点技术黑话的味道,但对于常年和Java安全、渗透测试打交道的朋友来说,这绝对是一个能让人眼睛一亮的关键词。简单来说,它探讨的是在Java反序列化漏洞利用场景下…...
FanControl深度解析:5大核心技巧彻底掌控Windows风扇控制
FanControl深度解析:5大核心技巧彻底掌控Windows风扇控制 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending…...
基于ESP8266与Adafruit IO的智能家居安防系统实战指南
1. 项目概述与核心思路智能家居安防听起来是个大工程,但它的核心逻辑其实很直接:让家里的各种传感器“开口说话”,并把它们的状态实时呈现在你面前,让你无论在哪都能对家里的情况了如指掌。这个项目就是一个绝佳的入门实践&#x…...
HIV protease substrate VIII;VSQNYPIV
一、基础信息多肽名称:HIV 蛋白酶底物 VIII 三字母序列:Val-Ser-Gln-Asn-Tyr-Pro-Ile-Val 单字母序列:VSQNYPIV 氨基酸数量:8 aa 结构特征:线性天然底物肽,无 N 端乙酰化、无 C 端酰胺化;无 Cys…...
