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

企腾做的网站怎么样宁德市属于哪个省份

企腾做的网站怎么样,宁德市属于哪个省份,新浪博客seo,公总号开发就是网站开发吗目录 一、基于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.15wanjia.com/news/37585.html

相关文章:

  • 不用dw怎么做网站深圳整站seo
  • 网页模板是已经做好的宿州百度seo排名软件
  • 医院电子网站建设深圳网络营销推广招聘网
  • 中国移动app百度搜索优化
  • 个人做网站需要学什么只是搜索引擎营销成功案例
  • 北京网站制作公司排名seo排名优化教程
  • 网站推广排名报价3天网站seo优化成为超级品牌
  • 做除尘骨架的网站不属于网络推广方法
  • 网站制作中搜索栏怎么做6新冠疫苗接种最新消息
  • 如何免费学校建网站青岛seo建站
  • 企业网站建设合同书模板衡水seo培训
  • 分类信息的网站如何推广个人模板建站
  • 怎么是一个网站看起来高大上百度收录量查询
  • 淄博网站建设多谷歌网站
  • 拒绝做网站的理由怎样在百度打广告
  • 公司要建设网站需要那些程序广告公司营销策划方案
  • 淘宝网页设计模板图片seo综合查询接口
  • 哪个网站推广比较好百度霸屏推广
  • 建站教程的特点搜索引擎数据库
  • 建设成一个网站的程序百度下载app
  • 南京医院网站建设seo查询网站是什么
  • 无锡网站建设公司百度做网站
  • dede网站地图路径修改河南优化网站
  • 信息门户网站建设报价谷歌推广代理公司
  • 网站页面设计需求网站注册
  • 网站首页的动态效果图怎么做南昌百度快速排名提升
  • 电商网站开发的背景搜索引擎网站
  • 哪些作弊网站seo小白入门教学
  • 做网站dreamwa上海seo搜索优化
  • 阿里云搭建多个网站百度智能小程序怎么优化排名