JDBC的编写

  • 1.加载驱动
  • 2.建立连接
  • 3.编写SQL语句
    • 3.1. 这是查询的语句。 while(resultSet.next())能够在查询表的所有项目。
    • 3.2. 这是删除语句
    • 3.3.这是增加记录的语句,在列表中增加值为(005,b3,77)的数据。
    • 3.4.这是更新(修改)语句,修改名字为a2的数据
  • 4.得到statement 对象
  • 5.执行SQL语句
  • 6.遍历结果集
  • 7.关闭资源

1.加载驱动

JDBC连接到数据库的第一步就是加载驱动。
try{
Class.forName(DBDRIVER);
}catch(Exception e){
System.out.println(“连接失败”);
e.printstack();
如果只写出 Class.forName(DBDRIVER);,将会产生异常。

2.建立连接

建立连接是JDBC连接中容易出错的一步。要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象。 DriverManager的getConnectin(String url , String username , String password )方法来传入连接的链接,用户名和密码。由于对数据库的增删改查都需要用到建立链接这一步,我创建了一个工具类tool。通过调用tool里的静态方法来建立链接,从而减少代码的重复量。
public class tool {
public static Connection DBConnection()
{
Connection connection=null;
try {
Class.forName(“com.mysql.jdbc.Driver”);
connection=DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/zt?useSSL=true&characterEncoding=utf-8&user=root&password=123”);
} catch (Exception e) {
e.printStackTrace();
}
return connection;
}
}

3.编写SQL语句

3.1. 这是查询的语句。 while(resultSet.next())能够在查询表的所有项目。

statement = connection.prepareStatement(sql);
resultSet = statement.executeQuery();
//6.处理结果集
while(resultSet.next())
{
System.out.println(resultSet.getString(1));
System.out.println(resultSet.getString(2));

        }

3.2. 这是删除语句

String sql=“Delete from student where Sname=‘b3’”;。删除名字为b3的学生数据。

3.3.这是增加记录的语句,在列表中增加值为(005,b3,77)的数据。

String sql =“insert into student(Sid,Sname,Score)values(?,?,?)”;
statement =connection.prepareStatement(sql);
statement.setString(1,“005”);
statement.setString(2,“b3”);
statement.setInt(3,77);
statement.executeUpdate();
这是修改语句
String sql = "Update student set Score=99 where Sname=‘a2’ ";

3.4.这是更新(修改)语句,修改名字为a2的数据

String sql = "Update student set Score=99 where Sname=‘a2’ ";

4.得到statement 对象

statement = connection.prepareStatement(sql);要执行SQL语句,必须获得java.sql.Statement实例,执行静态SQL语句。通常通过Statement实例实现。

5.执行SQL语句

Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate
和execute 。其中:
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句
,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或
DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的
语句。

6.遍历结果集

使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){
String Sid =rescultset…getString(“name”) ;
String score =rescult…getString(1) ;
}

7.关闭资源

在使用相关资源完成了操作之后,需要对资源进行关闭,否则将会浪费资源。与建立链接相同,我在tool类中创建了close方法,方法如下。

    public static void  Close(ResultSet resultset,PreparedStatement statement,Connection connection)
{if(resultset!=null) {try {resultset.close();} catch (SQLException e) {e.printStackTrace();}}if(statement!=null){try{statement.close();}catch (SQLException e){e.printStackTrace();}}if(connection!=null) {try {connection.close();} catch (SQLException e) {e.printStackTrace();}}

使用这个方法就能够简单的关闭资源,避免造成浪费。

以上七个步骤就是创建JDBC连接的基本步骤。

实习日志二--JDBC相关推荐

  1. 杰普实习日志 第一天学习内容

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...

  2. 前端开发实习生-实习日志

    文章目录 前言 一.工作内容和要求 二.工作情况记录 三.个人体会或收获 总结 前言 前端开发实习生的日常工作实习日志 一.工作内容和要求 初进公司,熟悉环境,了解大概流程,参加了公司的新员工培训大会 ...

  3. 实习日志_【人医札记】护理实习日志

    实习日志:新起点 01 章莹 (河南鹤壁职业技术学院) 盛夏七月,开始了我的实习生活-- 有幸可以来到兰溪市人民医院,经历了几十年风雨历程,一个花甲的峥嵘岁月,几十年璀璨硕果的积累,也让我对实习充满了 ...

  4. 实习日志_实习律师实习日志第十八篇(连载30篇)

    提供实习律师实习日记相关的文章资讯,希望我的分享能让您感到满意! 这个月接触最多的是人身损害赔偿的一些案件,交通事故.工伤的一些案件最多.起初,以为这些案件就是走走法律流程便可了事,最简单不过,可当完 ...

  5. 华为无线通用软件开发 实习一面二面

    2022年秋招/春招/提前批/大厂面经整理(持续更新中~) 华为无线通用软件开发 实习一面二面 一面 50min 1.自我介绍(自己介绍了一下专业.院校.成绩.做过的项目.参加的竞赛) 2.面试官:你 ...

  6. 一个轻巧高效的多线程c++stream风格异步日志(二)

    一个轻巧高效的多线程c++stream风格异步日志(二) 文章目录 一个轻巧高效的多线程c++stream风格异步日志(二) 前言 LogFile类 AsyncLogging类 AsyncLoggin ...

  7. 仿酷狗音乐播放器开发日志二十二 动态调色板控件第二版(性能大幅提升附源码)...

    转载请说明原出处,谢谢~~ 在上次写的博客<仿酷狗音乐播放器开发日志二十一 开发动态调色板控件(附源码)>发布后,我在群里和网友讨论这个控件的性能和优 缺点,发现了他很多不足,还有很多提升 ...

  8. 大工《金工实习(二)》大作业离线作业

    大连理工大学远程与继续教育学院<金工实习(二)>实验报告及要求 学习中心: 姓名: 1.车床安装工件时,注意事项有哪些? 答: 2.请简述车床在车削中试切的意义. 答: 3.请简述三面刃铣 ...

  9. 字节TikTok暑期实习一面二面三面面经(以OC)

    字节TikTok暑期实习一面二面三面面经(以OC) 字节TikTok暑期实习一面二面三面面经(以OC) 之前面试汇总题 字节一面(4月23日 4:00) 字节二面(4月23日 5:00) 字节三面(4 ...

最新文章

  1. 重庆发信息化建设管理通知 利好云产业
  2. Dictionary泛型集合
  3. Android 2018最新验证手机号正则表达式
  4. oracle数据连接java,java是与Oracle数据连接(jdbc)
  5. 复合索引的列顺序判断
  6. 因子和,因子数,1到n的因子和,1到n的因子数(积性函数)
  7. HTML5 Web SQL
  8. Web打印连续的表格,自动根据行高分页
  9. C#Winform窗体实现服务端和客户端通信例子(TCP/IP)
  10. 打印机打印第一页的问题
  11. 重磅!一文读懂线性方程组的求解方法
  12. iOS App 崩溃报告符号化,.ips崩溃报告文件分析
  13. SVM支持向量机习题解答
  14. 学会shell 基本语法,玩转linux
  15. Qt5.9一个简单的多线程实例(类QThread)(第一种方法)
  16. 基于java的论文查重系统设计
  17. 安卓计步器是如何实现计步的
  18. SVM支持向量机原理(一) 线性支持向量机
  19. Redis运行时突然不能读取数据了
  20. the voyage游戏android,Bullet Voyage

热门文章

  1. 详解CSRF跨站点请求伪造
  2. 密室鼻祖 深红色房间超详细攻略
  3. VIEW PUSHED PREDICATE(谓词推入)引发的惨剧
  4. 【笨木头Lua专栏】基础补充07:协同程序初探
  5. CVE-2014-4113:飓风熊猫(HURRICANE PANDA)Win64bit提起权0day破绽
  6. 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究...
  7. 程序员怎么应对行业变化?
  8. Typecho重大漏洞
  9. 2022牛客多校 C Grab the Seat!
  10. 在德国搜索超模海蒂和小龙女有风险哦