JDBC具体的操作步骤

article/2025/9/21 4:14:54

目录

1.加载驱动 Driver

2.获得连接

3.执行指令

4.关闭资源

一: 首先先建立一个包为:com.zking.util 

        包中建立一个类:DBHelper类//帮助类 

 使用静态代码块加载驱动

      2.  定义连接语句

      3.  获得连接方法 :

     4.  关闭资源:连接con,执行对象ps,结果集rs  

二.新建一个com.zking.dao 包然后在dao 包里面建立你的类名为数据库表名的类里面的方法:

首先我们先定以资源:

增:

删:

改:

查:

有些电脑运行会报错,报错如下:


1.加载驱动 Driver

  •   01.打出SQLServerDriver,按快捷
  •   02.使用Class.forName加载驱动
  • 代码如下:
1 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

2.获得连接

  • 01.编写连接语句
  • 代码如下:

2	String url = "jdbc:sqlserver://localhost:1433;databasename=api_284";
  • 02.获得连接
  • 代码如下:
Connection con = DriverManager.getConnection(url, "sa", "sa123");

3.执行指令

  •  01.获得执行对象
  • 代码如下:
PreparedStatement ps = con.prepareStatement("insert into student values(?,?,?)");
  • 02.让执行对象执行
  • 代码如下
 Scanner mys=new Scanner(System.in);System.out.println("请输入你的名字");String name=mys.next();System.out.println("请输入你的年龄");int age=mys.nextInt();//默认生日是当前时间Date brithday=new Date(System.currentTimeMillis());?代表占位符,一个占位符意味着需要一个变量来填充int n = ps.executeUpdate();// n就是数据库收到影响的行数// 怎么判断是否操作成功System.out.println(n>0?"成功":"失败");

4.关闭资源

if(con!=null&&!con.isClosed()) {con.close();}if(ps!=null) {ps.close();}

  • 以上方法不觉得麻烦吗?自此进阶版的连接数据库的步骤来了

  • 因为增删改查有许多代码都是重复的所有请看以下代码

一: 首先先建立一个包为:com.zking.util 

        包中建立一个类:DBHelper类//帮助类 

  1.  使用静态代码块加载驱动

static {try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}

      2.  定义连接语句

private static final String URL="jdbc:sqlserver://localhost:1433;databasename=api_284";

      3.  获得连接方法 :

public static Connection getCon() {try {return	DriverManager.getConnection(URL,"sa","123456");} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}return null;}

     4.  关闭资源:连接con,执行对象ps,结果集rs  

public static void close(Connection con,PreparedStatement ps,ResultSet rs) {try {if (con!=null&&!con.isClosed()) {con.close();}if (ps!=null) {ps.close();  }if (rs!=null) {rs.close();}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}
  • 以上就是帮助包的建立 ,建立完后我们就可以在其他其他地方调用我们的帮助包了使用帮助包就可以简化我们的代码。
  • 第二部就是我们的建立我们在数据库的增删改查的操作。 

二.新建一个com.zking.dao 包然后在dao 包里面建立你的类名为数据库表名的类里面的方法:

首先我们先定以资源:

	private Connection con;private PreparedStatement ps;private ResultSet rs;

增:

public int add(Student stu) {try {con = DBHelper.getCon();String sql = "insert into student values(?,?,?)";ps = con.prepareStatement(sql);ps.setString(1, stu.getName());ps.setInt(2, stu.getAge());ps.setDate(3, stu.getBirthday());return ps.executeUpdate();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally {DBHelper.close(con,ps,rs);}return 0;}

删:

public int delect(int id) {try {con=DBHelper.getCon();ps=con.prepareStatement("delete from student where id=?");ps.setInt(1, id);return ps.executeUpdate();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally {DBHelper.close(con, ps, rs);}return 0;}

改:

public int update(Student stu ) {try {con=DBHelper.getCon();String sql="update student set name=? where id=?";ps=con.prepareStatement(sql);ps.setString(1, stu.getName());ps.setInt(2, stu.getId());return ps.executeUpdate();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally {DBHelper.close(con, ps, rs);}return 0;}

查:

public  List<Student> list(){List<Student> list=new ArrayList<Student>();try {con=DBHelper.getCon();ps=con.prepareStatement("select*from student");rs=ps.executeQuery();while (rs.next()) {Student stu=new Student();stu.setId(rs.getInt(1));stu.setName(rs.getString(2));stu.setAge(rs.getInt(3));stu.setBirthday(rs.getDate(4));list.add(stu);  }} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally {DBHelper.close(con, ps, rs);}return list;}

以上就是加精的代码了 

有些电脑运行会报错,报错如下:

Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。

 查看你电脑上是否打开了TCP/IP协议:

  1. 打开计算机管理器找到SQLserver管理如图所示:

    2.  点击第四个SQL Server  网络配置

 打开MSSQLSEVER的协议

 会出现以下协议名称你可以看到你的TCP/IP是否打开打开之后你要重启SQLServer服务

重新回到这里点击SQL Server 服务

 

重新启动SQL Server ( MSSQLSEVER)

 

点击重新启动即可 


http://chatgpt.dhexx.cn/article/JMX1HsQh.shtml

相关文章

浅谈JDBC,JDBC实现的几大步骤

前言 当我们学完数据库之后总觉得数据库和java之间是没有联系的&#xff0c;但是我们还是要去学数据库是为了什么呐&#xff1f;现在就来了&#xff0c;现在我就来给大家讲讲怎么将数据库和java进行联系&#xff0c;我们也可以用数据库代替以前的IO流来存东西了。 JDBC 概述 …

【JDBC-1】jdbc编程六大步骤

文章目录 jdbc编程步骤1.注册驱动2.获取数据库的连接3.获取数据库操作对象4.执行sql语句5.处理查询结果集6.释放资源 jdbc编程步骤 jdbc编程6步&#xff1a;1.注册驱动2.获取连接3.获取数据库操作对象4.执行sql5.处理查询结果集6.释放资源1.注册驱动 注册驱动的作用&#xff…

如何使用jetty

一直都听说jetty跟Tomcat一样&#xff0c;是一个web容器。之前做项目的时候&#xff0c;也使用过jetty&#xff0c;不过当时jetty是作为一个插件&#xff0c;跟maven集成使用的。那个时候&#xff0c;由于是第一次使用jetty&#xff0c;感觉jetty跟Tomcat并不一样&#xff0c;启…

BAT优秀工具

1、腾讯智图&#xff1a;图片压缩优化平台 地址&#xff1a;智图_图片压缩在线工具_在线制作webp 智图可以帮你把图片压缩到很小&#xff0c;但是还是很清晰&#xff01;有很多网站限制图片上传的大小&#xff0c;用这个就可以&#xff01;在线的&#xff0c;很方便&#xff01…

GifCam2.0使用

GifCam2.0使用 有时候我们需要制作一个gif&#xff0c;那么我们可以用GifCam 。 GifCam 是一款能够轻松录制gif的软件&#xff0c;它体积小、免安装。它可以给现有的gif增加帧数。编辑gif图片&#xff0c;如添加文字、删除某些帧、修改特定帧的延迟等。 下载地址&#xff1a;h…

荒野大镖客2-解压即玩

游戏名称&#xff1a;荒野大镖客2发行时间&#xff1a;2019年12月6日游戏详细介绍&#xff1a;https://store.steampowered.com/app/1174180/Red_Dead_Redemption_2/ &#xff08;STEAM网站&#xff09;不了解这是什么游戏的可以看一下版本介绍&#xff1a;该版本由EMPRESS小组…

火炬2 贴吧导航(大纲1.0)

火炬2 贴吧导航&#xff08;大纲1.0&#xff09; time/2020.7.25 前言 因前导航贴中部分链接失效或失时&#xff0c;为方便吧友查阅攻略及数据&#xff0c;故作此帖。 注&#xff1a;此贴仅作导航&#xff0c;不回复不解疑&#xff0c;有个人疑惑请按正常流程询问其他吧友。 …

MYSQL 5.7 分组 1055解决方法

1.免安装版 在根目录下创建 my.ini 将一下内容拷贝到my.ini&#xff0c;然后重启服务即可 [mysqld] sql_mode‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’ 相信有些小伙伴在使用数据库的过程中会经常频繁的启动…

iSystem调试器系列文章—1.连接测试

iSystem调试器系列文章——1.连接测试 做嵌入式开发测试的人一般情况下都听过Lauterbach、iSystem、PLS这三个大名鼎鼎的调试器品牌。可惜的是博主在之前的工作中从未接触过这些大神级的调试器&#xff0c;只闻其声不见其人。今天有幸从厂家获取到了iSystem的IC5700调试器&…

小工具推荐

我们在使用计算机的过程中&#xff0c;总会有各种各样的需求&#xff0c;也许是为了颜值&#xff0c;也许是为了工作效率&#xff0c;有或是为了方便。这些需求系统本身没有提供相应的功能&#xff0c;或者系统提供的功能并不是那么好用。我们就渴望找一个好的工具代替。 本更新…

前端音视频之WebRTC初探

WebRTC Web Real-Time Communication 网页即时通信 WebRTC 于 2011 年 6 月 1 日开源&#xff0c;并在 Google、Mozilla、Opera 等大佬们的支持下被纳入 W3C 推荐标准&#xff0c;它给浏览器和移动应用提供了即时通信的能力。 WebRTC 优势及应用场景 优势 跨平台(Web、Window…

(常规更新)1.C++入门第一讲——编程如此简单

格言&#xff1a;自立才能自主&#xff0c;靠人更须靠己。有志之人立长志&#xff0c;无志之人常立志。千里之行&#xff0c;始于足下&#xff1b;艰难困苦&#xff0c;玉汝于成。少壮不努力&#xff0c;老大徒伤悲。✊✊✊ &#x1f4eb; 如果您觉得文章里有错误的地方&#x…

MySQL8.0的下载及安装 (8.0.15)

MySQL8.0的下载及安装 &#xff08;一&#xff09;1.下载MySQL8.0.15 (两种方式1.csdn下载&#xff08;无积分联系我私发&#xff09;2.官网下载) csdn下载链接&#xff1a;https://download.csdn.net/download/qq_42397270/19886950 1.访问MySQL官网&#xff1a;https://www…

JDK17解压版---安装与配置与查看版本

JDK17解压版下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/#jdk17-windows bin目录 &#xff1a;存放各种工具命令&#xff08;如 javac、java、javap等&#xff09;。 conf 目录&#xff1a;里面存放一些配置文件 。 include目录&#xff1a;存…

FastReport .NET 2023 Crack

FastReport .NET 2023 Crack  Blazor WebAssembly支持-为FastReport.NET Enterprise及更高版本的所有者添加了FastReport.Blazor.Wasm包。现在&#xff0c;您可以使用Razor组件在WebAssembly应用程序中显示报告。Blazor WebAssembly支持目前处于测试阶段。 能够打开另一个报告…

Total Software Deployment为您的企业网络管理软件部署

Total Software Deployment为您的企业网络管理软件部署 Total Software Deployment 可帮助您在本地网络上部署软件。它允许您同时在多台计算机上安装多个软件包。它包括软件库存管理、自动网络扫描和多种类型安装包的并发部署。 总体软件部署功能 轻松部署软件- 让 Total Softw…

MySQL绿色版安装教程

在windows上安装mysql数据库有时候会出现怎么都按照不上去的情况,特别是在卸载或者安装过程中终止之后在重新安装的时候,会出现莫名其妙的问题,接下来我们来简单的通过使用免安装版的MySQL避免这种问题.其中操作过程如下: 去Oracle官网下载MySQL的对应版本(https://dev.mysql.…

centos6.5 配置mysql5.6免安装版

1、从mysql官网下载mysql5.6 下载地址&#xff1a;http://dev.mysql.com/downloads/mysql/5.6.html#downloads 2、解压文件并移动到/usr/local/mysql #tar -xzvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz #mv mysql-5.6.30-linux-glibc2.5-x86_64 /usr/local/mys…

艾诗娜:红女巫 Ashina: The Red Witch Build.10280376 官方中文 免安装【209M】

艾诗娜&#xff1a;红女巫是一款含有探索要素的故事冒险游戏。通过使用道具来解决谜题&#xff0c;并和众多角色对话来进一步深挖游戏的故事&#xff01; 和艾诗一起来场妖怪界大冒险吧&#xff01;在这个神秘的妖怪世界中充满着奇怪的生物、有趣的角色还有难忘的时刻&#xff…

Java SE(七)之泛型(泛型类,泛型接口,泛型方法)

文章目录 泛型概述1.泛型的引入2.泛型的定义3.泛型的好处4.泛型标记符 泛型类泛型方法泛型接口通配符与C模板类可变参数 泛型概述 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制&#xff0c;该机制允许程序员在编译时检测到非法的类型。 泛型的本质是参数化类…