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

PreparedStatement的jdbc相关操作

上一篇博客说了这个更方便,接下来给大家展示下怎么方便了。
这是上篇博客链接https://blog.csdn.net/renhuoyishi99/article/details/100181212

package JDBC.Bigdata.text2; import JDBC.Bigdata.Student.Student; import JDBC.Bigdata.util.dbutil; import java.sql.Connection; import java.sql.PreparedStatement; public class insert { private static int insertStu(Student student) throws Exception{ dbutil dbUtil=new dbutil(); String sql="insert into student values (?,?,?,?,?)"; Connection con=dbUtil.getCon(); PreparedStatement pre=con.prepareStatement(sql); pre.setObject(1,student.getSno()); pre.setObject(2,student.getSname()); pre.setObject(3,student.getSsex()); pre.setObject(4,student.getSc()); pre.setObject(5,student.getSage()); int result=pre.executeUpdate(); dbUtil.dbClose(con,pre); return result; } public static void main(String[] args) throws Exception{ Student student=new Student(111, "乐乐","男", "cs",77); int result=insertStu(student); if(result==1) { System.out.println("操作成功"); } else { System.out.println("操作失败"); } } }

这是增,当你有preparedStatement时候,你可以将sql语句中的相关数据写成?,然后再在后来开始填空,真的很方便,至于为什么方便,相信你打过Statement的代码你就懂了,填空方式就在后面,那个setObject其实也可以打成其他的,你是什么你就打成什么,Object这是因为我懒,哈哈哈。因为Object可以弄所有么。

package JDBC.Bigdata.text3; import JDBC.Bigdata.Student.Student; import JDBC.Bigdata.util.dbutil; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; public class sel { private static void sele()throws Exception { dbutil dbUtil=new dbutil(); Connection con=dbUtil.getCon(); String sql="select * from student"; PreparedStatement pre=con.prepareStatement(sql); ResultSet res=pre.executeQuery(); while (res.next()) { // Object Sno=res.getObject(1); // Object Sname =res.getObject(2); // Object Ssex= res.getObject(3); // Object Sdept=res.getObject(4); // Object Sage= res.getObject(5); Object Sno=res.getObject("Sno"); Object Sname =res.getObject("Sname"); Object Ssex= res.getObject("Ssex"); Object Sdept=res.getObject("Sdept"); Object Sage= res.getObject("Sage"); System.out.println("学号:"+Sno+" 姓名:"+Sname+" 性别:"+Ssex+" 科目:"+Sdept+"年龄:"+Sage); } dbUtil.dbClose(con,pre); } private static List<Student> selec()throws Exception { List<Student> StudentList=new ArrayList<Student>();//这个就不给大家多说了啊,,这个上网查一下,集合和泛型。 dbutil dbUtil=new dbutil(); Connection con=dbUtil.getCon(); String sql="select * from student"; PreparedStatement pre=con.prepareStatement(sql); ResultSet res=pre.executeQuery(); while (res.next()) { // Object Sno=res.getObject(1); // Object Sname =res.getObject(2); // Object Ssex= res.getObject(3); // Object Sdept=res.getObject(4); // Object Sage= res.getObject(5); int Sno=res.getInt("Sno"); String Sname =res.getString("Sname"); String Ssex= res.getString("Ssex"); String Sdept=res.getString("Sdept"); int Sage= res.getInt("Sage"); //System.out.println("学号:"+Sno+" 姓名:"+Sname+" 性别:"+Ssex+" 科目:"+Sdept+"年龄:"+Sage); Student student=new Student(Sno,Sname,Ssex,Sdept,Sage); StudentList.add(student); } dbUtil.dbClose(con,pre); return StudentList; } public static void main(String[] args)throws Exception { //sele(); List<Student> StudentList=selec(); //System.out.println(StudentList); for (Student student:StudentList ) { System.out.println(student); } } }

这个查里面多了一点东西,就是Reasult指针,他是个好东西,他刚开始指的是你数据的前一行,随着next逐渐下移,到哪一行你就可以取出哪一行的数据。你想取出哪一格的数据你就看哪一格是什么类型的,get类型就能了。

http://www.jsqmd.com/news/1281772/

相关文章:

  • 高效、免费、开源:GetQzonehistory让QQ空间历史说说备份变得简单
  • C++ noexcept关键字:从移动语义到容器性能优化的核心机制
  • 创世战车10K战力装配指南:从部件协同到实战优化
  • 想找优质专利轨道插座生产厂家?这些实用挑选技巧看完再也不踩坑
  • Cloudflare D1免费额度解析与优化技巧
  • Unity SSDLC框架:构建游戏开发全生命周期的安全免疫系统
  • 北京纯玩团深度对比:2-6人纯玩小团、一家一团定制游,到底哪个更值? - 速递信息
  • 数据结构实验(C语言):折半查找、哈希查找
  • Agentic AI实战:从概念到生产级智能体的架构设计与工程实践
  • 技术技能快速掌握:从基础到精通的系统方法论
  • 什么是完全二叉树?什么是叶子结点?一道题搞懂
  • ComfyUI-SUPIR终极指南:基于SDXL的智能图像超分辨率完整教程
  • 10-Gateway API
  • Leaf size is too small for the input dataset 解决办法
  • linux shell 各种括号作用详解()、(())、[]、[[]]、{}
  • 惠州惠城漏水检测维修一站式服务 - 本地正规防水补漏公司精选推荐(2026 最新)全域上门:卫生间 / 厨房 / 阳台 / 屋顶渗漏水免砸砖检测维修补漏全攻略 - 吉林同城获客
  • SpringBoot+Vue构建问卷调查系统的技术实践
  • 如何快速搭建私有搜索引擎:SearXNG Docker终极部署指南
  • NBM7100A芯片在低功耗物联网设备中的应用与优化
  • 暗黑2存档编辑器完全手册:零基础掌握角色与装备修改
  • Java微服务的七个常见架构错误:从超时配置到异常处理的生产级反例
  • SpringBoot拦截器读取流后不能再读取(详解)
  • 【第一章04】MQTT控制报文
  • Unity-XLua中Lua异常处理:构建跨语言稳定性的工程实践
  • Windows 11 添加网络打印机总是连接失败:从设备发现到 TCP/IP 端口的排查记录
  • 01 准备你的开发环境
  • 编写程序对比一帆风顺和历经波折两种状态下的作品风格,利用低谷心境打造差异化创意。
  • 量化交易策略可视化与实战复盘
  • Vosk-Browser:浏览器端离线语音识别的革命性解决方案
  • 思源宋体TTF:7种粗细的免费开源中文字体终极指南