首页 > 数据库 >Javaweb中在SQL语句中使用未知数进行多表查询

Javaweb中在SQL语句中使用未知数进行多表查询

时间:2023-05-29 20:37:24浏览次数:182  
标签:多表 String getString 双引号 chengji resultSet num SQL Javaweb

  这个问题主要是匹配好引号和单引号即可。

  如果是varchar型,那么变量要带单引号('),如果是int型就不用带。同时要注意用+号进行String的拼接。

  示例:

public List<Student> huizong_bujige(String kemu1){
List<Student> list = new ArrayList<>();
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
connection = JDBCTools.getConnection();
String sql = "select student.num,name,banji,kemu,chengji from student join sutdent_chengji sc on student.num = sc.num and chengji<60 and kemu='"+kemu1+"'"";
//在这里,因为kemu为varchar类型,所以要拿单引号引起来。表面看起来这里是差一个双引号,
但是真正的sql语句是不带双引号的,所以不用与第一个双引号配对,也就是说最后面没有红色的双引号与第一个双引号对应,因为第一个双引号本身就是为了满足Java的语法,真正的SQL语句不带双引号。
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {//这里要注意用列名来确定。
String num=resultSet.getString("num");
String name=resultSet.getString("name");
String banji=resultSet.getString("banji");
kemu1=resultSet.getString("kemu");
String chengji=resultSet.getString("chengji");
Student student=new Student(num,name,banji,kemu1,chengji);
list.add(student);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCTools.release(connection, preparedStatement, resultSet);
}
return list;
}
多个参数示例:
String sql2="select * from firstline where StopID>=(select StopID from firstline where StopName='"+line.getEndstopname()+"' and Line='"+line.getTemporaryline()+"') and StopID<=(select StopID from firstline where StopName='"+line.getStartstopname()+"' and Line='"+line.getTemporaryline()+"')";
 

标签:多表,String,getString,双引号,chengji,resultSet,num,SQL,Javaweb
From: https://www.cnblogs.com/joranger/p/17441579.html

相关文章

  • MYSQL复习
    --创建数据库CREATEDATABASEdatabase_nameON[PRIMARY](NAME=file_name,FILENAME='os_file_name',[SIZE=size,][MAXSIZE=max_size|UNLIMTED,][FILEGROWTH=growth_increment])LOGON[PRIMARY](NAME=logical_file_name,FILENAME='os_f......
  • mysql主从切换—一主两从架构
    文档课题:mysql主从切换.数据库:mysql8.0.27系统:rhel7.3安装包:mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz系统架构:一主两从环境介绍:1、应用场景生产环境中,当主库A发生故障时,需要将从库B切换成主库,如下模拟主库Master宕机,slave01升级为Master,slave02保持不变,并实现slave01和......
  • 安装mysql 压缩版数据库
    1、下载压缩版压缩包下载地址:https://dev.mysql.com/downloads/mysql/5.5.html#downloads主要步骤1、解压文件,切换到bin目录,复制地址D:\Software\mysql\mysql-8.0.30-winx64\bin2、在系统变量的path中添加地址3、创建添加my.ini文件添加一下内容[mysql]#设置mysq......
  • 11)MySQL编程基础
    1、用户会话变量:会话期间一直有效;但其他的客户机不能访问;一般情况下,用户会话变量的定义与赋值会同时进行; 方法一:使用set命令定义用户会话变量,并为其赋值;set@user_variable1=expre1[,@user_variable2=expre2,...];方法二:使用select语句定义用户会话变量,并为其赋值;sele......
  • MySQL之慢查询sql排查及优化
    前言sql语句优化的方式:1.尽量少join2.尽量少排序3.尽量避免select*4.尽量少or5.尽量用unionall代替union…(优化的方式有很多,这里就不一一举例了)当你避免这些问题的时候,为什么sql查询还是这么慢?排查慢查询sqlps:mysql版本为5.71.连接mysqlmysql-uroot-p2.查......
  • JavaWeb 解决乱码问题
    自写过滤器解决文件结构代码配置EncondingFilerpackagefilter;importjavax.servlet.*;importjava.io.IOException;publicclassEncondingFilterimplementsFilter{@Overridepublicvoidinit(FilterConfigfilterConfig)throwsServletException{......
  • Mysql 字符集问题:utf8与utf8mb4
    UTF-8编码是一种变长的编码机制,可以用1~4个字节存储字符。MySQL中的utf8编码并不是真正的UTF-8,其最长只有3个字节。当遇到占4个字节的UTF-8编码,例如emoji字符或者复杂的汉字,会导致存储异常。从5.5.3开始,MySQL开始用utf8mb4编码来实现完整的UTF-8,其中mb4表示mo......
  • EBS: FORM窗体开发使用VIEW模式开发,plsql DEVELOPER 自动生成PLSQL脚本
    FORM窗体开发使用VIEW模式开发,plsqlDEVELOPER自动生成PLSQL脚本,CREATEORREPLACEPACKAGEAPPS.HAND_PLSQL_AUTOCREATEAUTHIDCURRENT_USERAS/*$Header:HDPLSATC.pls115.12004/09/0215:33:09pkmship$*/PROCEDUREregist_table(p_table_nameINVARCHAR2,......
  • 如何将数据从MySQL/MongoDB中迁移至云开发数据库
    本篇文章从MySQL、MongoDB迁移到云开发数据库,其他数据库迁移也都大同小异~迁移大致分为以下几步?:从MySQL、MongoDB将数据库导出为JSON或CSV格式创建一个云开发环境到云开发数据库新建一个集合在集合内导入JSON或CSV格式文件Mysql迁移到云开发数据库为了方便,我们使用Na......
  • Avalonia通过ef操作sqlite
    首选我们建个MVVM模板的项目,在项目中引入包Microsoft.EntityFrameworkCore.Sqlite1、创建实体publicclassTodoEntity{publicGuidId{get;set;}publicstringThing{get;set;}publicDateTimeCreateTime{get;set;}}2、创建上下文ubliccl......