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

没有做老千的斗牛网站6电子商务这个专业好吗

没有做老千的斗牛网站6,电子商务这个专业好吗,一个网站做十个二级域名,建筑设计大专有用吗目录 一、基于PreparedStatement实现CRUD 1.查询单行单列 2.查询单行多列 3.查询多行多列 4.新增 5.修改 6.删除 7.总结 二、常见问题 1.资源的管理 2.SQL语句问题 3.SQL语句未设置参数问题 4.用户名或密码错误问题 5.通信异常 总结 一、基于PreparedStatement实…

目录

一、基于PreparedStatement实现CRUD

1.查询单行单列

2.查询单行多列

3.查询多行多列

4.新增

5.修改

6.删除

7.总结

二、常见问题

1.资源的管理

2.SQL语句问题

3.SQL语句未设置参数问题

4.用户名或密码错误问题

5.通信异常

总结


一、基于PreparedStatement实现CRUD

1.查询单行单列

package com.myblog;import java.sql.*;
import org.junit.Test;public class JdbcExample {@Testpublic void testQuerySingleRowAndCol() throws Exception {//1.注册驱动(可以省略)//2.获取连接Connection connection = DriverManager.getConnection("jdbc:mysql:///myblog_db", "root", "your_password"); // 请替换为你的数据库密码//3.预编译SQL语句得到PreparedStatement对象PreparedStatement preparedStatement = connection.prepareStatement("SELECT COUNT(*) as count FROM employee");//4.执行SQL语句,获取结果ResultSet resultSet = preparedStatement.executeQuery();//5.处理结果// 如果自己明确一定只有一个结果,那么resultSet最少要做一next的判断,才能拿到我们要的列的结果if (resultSet.next()) {int count = resultSet.getInt("count");System.out.println(count);}//6.释放资源resultSet.close();preparedStatement.close();connection.close();}
}

2.查询单行多列

package com.myblog;import java.sql.*;
import org.junit.Test;public class JdbcExample {@Testpublic void testQueryRowAndCol() throws Exception {//1.注册驱动(略)//2.获取连接对象Connection connection = DriverManager.getConnection("jdbc:mysql:///myblog_db", "root", "your_password"); // 请替换为你的数据库密码//3.预编译SQL语句得到PreparedStatement对象PreparedStatement preparedStatement = connection.prepareStatement("SELECT id, name, salary, age FROM employee WHERE id = ?");//4.执行SQL语句,获取结果//有占位符要赋值preparedStatement.setInt(1, 5);ResultSet resultSet = preparedStatement.executeQuery();//5.处理结果while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");double salary = resultSet.getDouble("salary");int age = resultSet.getInt("age");System.out.println(id + "\t" + name + "\t" + salary + "\t" + age);}//6.资源释放resultSet.close();preparedStatement.close();connection.close();}
}

3.查询多行多列

package com.myblog;import java.sql.*;
import org.junit.Test;public class JdbcExample {@Testpublic void testQueryMoreRow() throws Exception {// 获取连接对象Connection connection = DriverManager.getConnection("jdbc:mysql:///myblog_db", "root", "your_password"); // 请替换为你的数据库密码// 预编译SQL语句得到PreparedStatement对象PreparedStatement preparedStatement = connection.prepareStatement("SELECT id, name, salary, age FROM employee WHERE age > ?");// 为占位符赋值,并接受结果preparedStatement.setInt(1, 25);ResultSet resultSet = preparedStatement.executeQuery();// 处理结果while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");double salary = resultSet.getDouble("salary");int age = resultSet.getInt("age");System.out.println(id + "\t" + name + "\t" + salary + "\t" + age);}// 释放资源resultSet.close();preparedStatement.close();connection.close();}
}

4.新增

package com.myblog;import java.sql.*;
import org.junit.Test;public class JdbcExample {@Testpublic void testInsert() throws Exception {// 获取连接对象Connection connection = DriverManager.getConnection("jdbc:mysql:///myblog_db", "root", "your_password"); // 请替换为你的数据库密码// 预编译SQL语句得到PreparedStatement对象PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO employee(name, salary, age) VALUES(?,?,?)");// 为占位符赋值preparedStatement.setString(1, "rose");preparedStatement.setDouble(2, 345.67);preparedStatement.setInt(3, 28);// 执行插入操作int result = preparedStatement.executeUpdate();// 根据受影响行数,判断操作是否成功if (result > 0) {System.out.println("插入成功");} else {System.out.println("插入失败");}// 释放资源preparedStatement.close();connection.close();}
}

5.修改

package com.myblog;import java.sql.*;
import org.junit.Test;public class JdbcExample {@Testpublic void testUpdate() throws Exception {// 获取连接对象Connection connection = DriverManager.getConnection("jdbc:mysql:///myblog_db", "root", "your_password"); // 请替换为你的数据库密码// 预编译SQL语句得到PreparedStatement对象PreparedStatement preparedStatement = connection.prepareStatement("UPDATE employee SET salary = ? WHERE id = ?");// 为占位符赋值preparedStatement.setDouble(1, 8888.88);preparedStatement.setInt(2, 6);// 执行更新操作int result = preparedStatement.executeUpdate();// 根据受影响行数,判断操作是否成功if (result > 0) {System.out.println("更新成功");} else {System.out.println("更新失败...");}// 释放资源preparedStatement.close();connection.close();}
}

6.删除

package com.myblog;import java.sql.*;
import org.junit.Test;public class JdbcExample {@Testpublic void testDelete() throws Exception {// 获取连接对象Connection connection = DriverManager.getConnection("jdbc:mysql:///myblog_db", "root", "your_password"); // 请替换为你的数据库密码// 预编译SQL语句得到PreparedStatement对象PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM employee WHERE id = ?");// 为占位符赋值preparedStatement.setInt(1, 6);// 执行删除操作int result = preparedStatement.executeUpdate();// 根据受影响行数,判断操作是否成功if (result > 0) {System.out.println("删除成功");} else {System.out.println("删除失败...");}// 释放资源preparedStatement.close();connection.close();}
}

7.总结

  • 注册驱动:通常通过Class.forName()注册JDBC驱动(这一步可以省略)。
  • 获取连接:通过DriverManager.getConnection()获取数据库连接。
  • 创建PreparedStatement对象:编写SQL语句,使用Connection.prepareStatement()创建PreparedStatement对象。
  • 设置参数:通过setXXX方法为SQL语句中的占位符赋值。
  • 执行操作:通过executeQuery()执行查询操作,通过executeUpdate()执行插入、更新或删除操作。
  • 处理结果:查询操作需要遍历ResultSet对象,处理结果。插入、更新和删除操作通过受影响的行数判断操作是否成功。
  • 释放资源:按顺序关闭ResultSet、PreparedStatement和Connection对象,确保资源不泄露。

二、常见问题

1.资源的管理

        在使用JDBC的相关资源时,比如Connection、PreparedStatement、ResultSet,使用完毕后,要及时关闭这些资源以释放数据库服务器资源和避免内存泄漏是很重要的。

2.SQL语句问题

java.sql.SQLSyntaxErrorException:SQL语句错误异常,一般有几种可能:

  • SQL语句有错误,检查SQL语句!建议SQL语句在SQL工具中测试后再复制到Java程序中!

  • 连接数据库的URL中,数据库名称编写错误,也会报该异常!

3.SQL语句未设置参数问题

java.sql.SQLException:No value specified for parameter 1

在使用预编译SQL语句时,如果有?占位符,要为每一个占位符赋值,否则报该错误!

4.用户名或密码错误问题

java.sql.SQLException: Access denied for user 'root123'@'localhost' (using password: YES)

连接数据库时,如果用户名或密码输入错误,也会报SQLException,容易混淆!所以一定要看清楚异常后面的原因描述

5.通信异常

在连接数据库的URL中,如果IP或端口写错了,会报如下异常:

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure


总结

        本篇对JDBC技术的基础增删改查和常见错误进行了汇总,便于理解和运用。部分内容源自网络,如有侵权请联系作者删除,谢谢!

http://www.yayakq.cn/news/642957/

相关文章:

  • 深圳学校网站建设lnmp wordpress php7
  • 设置网站文件夹的安全项广州企业网站模板购买
  • 网站最下面版权模板网站刷收益是怎么做的
  • 临沂手机网站建设网站建设课程职业教育机构
  • 汕头seo网站优化网页设计介绍北京网站
  • 东莞网站建设dgjwz有项目没有钱怎么找投资人
  • 怎样做网站表白小程序搭建多少钱
  • 做seo用哪种建站程序最好网站的ftp怎么查
  • dede我的网站如何使用seo进行综合查询
  • 昆山网站建设多少钱php网站开发自学
  • 网站建设公司兴田德润优惠微信的网站怎么做
  • 腾讯云建站流程wordpress加链接地址
  • 深圳微信网站运营seo是什么地方
  • 网站降权怎么救wordpress标签小工具栏
  • 做旅游攻略比较好的网站php调用wordpress函数
  • WordPress创建页面左侧导航网络优化的目的
  • 网站设计的能力要求wrix 网站开发
  • 商城网站wordpress学院网站建设项目范围变更申请表
  • 宁波住房与城乡建设部网站深圳建设集团有限公司有分公司吗
  • 前端网站做中 英文wordpress 获取子菜单
  • 海外网站建设教程ui培训机构排名前十
  • 网站pc和手机端做商城网站的公司
  • 枣阳网站开发智慧团建官方网址
  • php网站底部文件百度上怎么做推广
  • 长沙做网站的包吃包住4000企业网站建设策划书案例
  • 做期货网站违法的吗用pageadmin做的网站用什么虚拟主机号
  • 企业建站公司流程有没有免费的室内设计软件
  • 企业网站 html5百度站长工具收费吗
  • wordpress用户搜索次数网站设计seo
  • 企业网站html模板下载seo如何优化关键词