关于使用preparestatement来实现模糊查询

关于使用preparestatement来实现模糊查询关于使用prparestatement来实现模糊查询

大家好,又见面了,我是你们的朋友全栈君。

使用preparestatement来实现模糊查询

对于在IDEA中实现jdbc的模糊查询操作,模糊查询就例如,查询数据库的某个表中的名字含有“文”的人的姓名,这种,对此使用的sql语句为:” select * from demo(此为表名)where name(此为变量名) like ?”。在后面指定参数的时候把?指定为”%”+name+”%”,name是指定的查询条件。在前面赋变量。
具体的实现过程如下:

Connection conn = null;
        ResultSet rs=null;
        PreparedStatement stmt=null;
        String ppt="k";

        try {
            //加载驱动类
            Class.forName("com.mysql.jdbc.Driver");
            //建立连接
            conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/demo",
                        "root", "132456");
            String sql="select * from customer where name =?";
            stmt=conn.prepareStatement("select * from demo where name like ? ");
            stmt.setString(1,"%"+ppt+"%");
            rs=stmt.executeQuery();
            while(rs.next()){
                System.out.println(rs.getString("name"));
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

在这里插入图片描述
在编写代码的工程中,我遇到了的一个问题就是,在提前设变量的时候,如果我设置createstatement来创建时,会出现这样的情况:

Statement  stmt=conn.prepareStatement(sql);
stmt.setString(1,"%"+ppt+"%");
rs.stmt.executeQuery(sql);

但是实际上executeQuery()是不用添加sql语句的。
后来发现了原因,创建对象时,要使用PrepareStatement stmt来创建,这样就不会报错。
模糊查询的重点还是如何使用setString来进行替换,比较容易理解。
在实际中,sql语句有两种更新数据库的方法:
第一种使用executeQuery(),此方法返回的是数据,通常用于查询语句。
第二种使用executeUpdate(sql),此方法返回的是真假值,是执行增,删,查,改等操作的时候用到的。
另外,最后记得要关闭连接池。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135601.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python取余还是相乘_python取余还是相乘_基于python 取余问题(%)详解

    python取余还是相乘_python取余还是相乘_基于python 取余问题(%)详解取余的公式:余数=除数-被除数*商python的的余数是按照整除(向下取整)得到的商来计算的。取余问题主要分为:正数与正数,负数与负数,正数与负数,0正数与正数#大数/小数:因为得出的商和整除得出的一致,所以直接按照这个公式(余数=除数-被除数*商)即可。print(9//7)#1print(9%7)#2#小数/大数:因为得出的商和整除得出的一致,所以直接按照这个公式(余数=除数-被除数*…

    2022年5月20日
  • python移动app开发_神奇的Kivy,让Python快速开发移动app

    python移动app开发_神奇的Kivy,让Python快速开发移动app随着移动互联网的不断发展,手机、Pad等移动终端已经被普遍使用,充斥在人们的工作、学习和生活中,越来越多的程序都转向移动终端,各类app应用相拥而至。Kivy作为Python的Android和IOS的app应用开发利器,有着跨平台开发优势,很快得到了普遍运用,并逐渐占据了核心地位。下面我们就看看用Python的Kivy模块是如何开发移动App应用的。Kivy的安装。与Python的其他模块安装一样…

    2022年5月16日
  • 计算机启动显示安装程序正在启动服务,安装程序正在启动服务需要多久

    计算机启动显示安装程序正在启动服务,安装程序正在启动服务需要多久大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。安装程序正在启动服务需要多久,这个主要看软件大小,安装完成就会自动运行的,要是系统不断的提示,这个就不一定了,时间可能会很久的,需要耐心等待。程序,香港和台湾对英文procedure的中文翻译,编程语言中的procedure在大陆翻译为“过程”,在港台和其他领域则翻译为“程序”。在大陆于计算机科学、电脑工程、电子工程、电机工程、机…

    2022年6月29日
  • 计算机机房整改工作报告,机房整改总结.doc

    计算机机房整改工作报告,机房整改总结.docXX机房整改方案目录一、XX站整改项目说明3二、XX站整改项目目标3三、项目实施要求41、可靠性:42、环境保护:43、灵活性:44、安全性:4四、施工方案简述4第一部分机房工程方案4第二部分:机房装修设计及施工方案6第三部分机房外缆整改及设备支座制作8五、机房综合工程设计标准10六、效果图11XX站整改项目说明本次XX站机房整改项目主要涉及XXX二楼机房、话务机房、电源机房等机房的整体维护。…

    2022年5月25日
  • 信息系统项目管理师高级论文_信息系统项目管理师历年论文题目

    信息系统项目管理师高级论文_信息系统项目管理师历年论文题目本系列文章将会对信息系统项目管理师考试中出现的十大管理论文进行分析,并给出参考范文,帮助考生备考复习。更多复习内容请在微信搜索小程序“信息系统项目管理师高频考点”。2021上半年论文真题范围管理论文试题一论信息系统项目的范围管理项目范围管理必须清晰地定义项目范围,其主要工作是要确定哪些工作是项目应该做的,哪些不应该包括在项目中。请以“论信息系统项目的范围管理”为题进行论述∶1.概要叙述你参与管理过的一个信息系统项目(项目的背景、项目规模、发起单位、目的、项目内容、组织结构

    2022年9月14日
  • 程序员有哪些强迫症?听知乎网友为你现身说法[通俗易懂]

    程序员有哪些强迫症?听知乎网友为你现身说法

    2022年3月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号