使用JDBC的基本步骤:

1. 注册驱动

DriverManager.registerDriver(new com.mysql.jdbc.Driver());

2. 建立连接

//DriverManager.getConnection("jdbc:mysql://localhost/test?user=monty&password=greatsqldb");

//2. 建立连接 参数一: 协议 + 访问的数据库 , 参数二: 用户名 , 参数三: 密码。

conn = DriverManager.getConnection("jdbc:mysql://localhost/student", "root", "root");

3. 创建statement

//3. 创建statement , 跟数据库打交道,一定需要这个对象

st = conn.createStatement();

4. 执行sql ,得到ResultSet

//4. 执行查询 , 得到结果集

String sql = "select * from t_stu";

rs = st.executeQuery(sql);

5. 遍历结果集

//5. 遍历查询每一条记录

while(rs.next()){

int id = rs.getInt("id");

String name = rs.getString("name");

int age = rs.getInt("age");

System.out.println("id="+id + "===name="+name+"==age="+age);

}

6. 释放资源

if (rs != null) {

try {

rs.close();

} catch (SQLException sqlEx) { } // ignore

rs = null;

}

package com.test;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import com.mysql.jdbc.Driver;
import com.util.JDBCUtil;public class MainTest {public static void main(String[] args) {Connection conn = null;Statement st = null;ResultSet rs = null;try {// 1、注册驱动DriverManager.registerDriver(new Driver());// DriverManager.getConnection("jdbc:mysql://localhost/test?user=test&password=test");// 2、建立连接conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "root");// 3、创建Statement,跟数据库打交道,一定需要这个对象st = conn.createStatement();// 4、执行查询String sql = "select * from t_stu";rs = st.executeQuery(sql);// 5、遍历查询每一条记录while (rs.next()) {int id = rs.getInt("id");String name = rs.getString("name");int age = rs.getInt("age");System.out.println("id" + id + "-----name=" + name + "-----age=" + age);}} catch (SQLException e) {e.printStackTrace();} finally {JDBCUtil.release(conn, st, rs);}}
}

JDBCUtil.java

package com.util;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class JDBCUtil {/*** 释放资源* @param conn* @param st* @param rs*/public static void release(Connection conn, Statement st, ResultSet rs){closeRs(rs);closeSt(st);closeCoon(conn);}private static void closeRs(ResultSet rs) {try {if (rs != null) {rs.close();}} catch (SQLException e) {e.printStackTrace();}finally {rs = null;}}private static void closeSt(Statement st) {try {if (st != null) {st.close();}} catch (SQLException e) {e.printStackTrace();}finally {st = null;}}private static void closeCoon(Connection conn) {try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}finally {conn = null;}}
}

JDBC工具类构建:

1、资源释放工作的整合

2、驱动防二次注册

  DriverManager.registerDriver(new com.mysql.jdbc.Driver());

  Driver 这个类里面有静态代码块,一上来就执行了,所以等同于我们注册了两次驱动。其实没必要

  改动成以下代码即可

  Class.forName("com.mysql.jdbc.Driver");

3、使用properties配置文件

  1、在src底下声明一个文件 xxx.properties,里面的内容如下 

    driverClass=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost/studentname=rootpassword=root

  2、在工具类里面,使用静态代码块,读取属性

static{try {//1. 创建一个属性配置对象Properties properties = new Properties();InputStream is = new FileInputStream("jdbc.properties"); //对应文件位于工程根目录//使用类加载器,去读取src底下的资源文件。 后面在servlet  //对应文件位于src目录底下//InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");//导入输入流。
                properties.load(is);//读取属性driverClass = properties.getProperty("driverClass");url = properties.getProperty("url");name = properties.getProperty("name");password = properties.getProperty("password");} catch (Exception e) {e.printStackTrace();}}

转载于:https://www.cnblogs.com/clqbolg/p/11037390.html

2019-06-12 Java学习日记之JDBC相关推荐

  1. Java学习日记1——基础认知

    Java学习日记1--基础认知 学习Java阶段,如果发现不正确的描述,还请指正! 首先附上Java相关下载链接和配置教程链接 Java相关软件工具下载地址:官方下载 Java环境配置(win10配置 ...

  2. Java学习日记-Day01

    Java学习日记-Day01 Java语言概述 比特(byte)与字节 内存 Java基础知识图解 人机交互方式 常用的DOS命令 常用快捷键 计算机编程语言介绍 第一代语言 第二代语言 第三代语言 ...

  3. 尚学堂Java学习日记Day3

    尚学堂Java学习日记Day3 第三天老师先回顾了昨天的内容我从回顾中掌握了新的知识 如下图所示 int与double计算,输出类型为double的不同结果 会把int转成double类型的,这是隐式 ...

  4. Java学习日记:UI篇(6)--谢尔宾斯基地毯图

    Java学习日记:UI篇(6)–谢尔宾斯基地毯图 引言:谢尔宾斯基地毯是数学家谢尔宾斯基提出的一个分形图形,谢尔宾斯基地毯和谢尔宾斯基三角形基本类似,不同之处在于谢尔宾斯基地毯采用的是正方形进行分形构 ...

  5. 【日记】Java学习日记(第63天)持续无聊更新

    前言 Youtube上EJ Media(up主)的视频我依次学完了HTML.CSS.Javascript.Jquery.觉得他教得挺好的(短小精悍),就继续学他教的JAVA.感觉EJ教的都是些语法什么 ...

  6. 2019年新版Java学习路线图(内含大纲+视频+工具+书籍+面试)

    一.2019新版Java学习路线图---每阶段市场价值及可解决的问题 二.2019新版Java学习路线图---学习大纲及各阶段知识点 三.2019新版Java学习路线图---升级后新增知识点一览 四. ...

  7. 尚学堂Java学习日记Day1

    尚学堂学习日记Day1 #今天开始写学习博客记录自己学习java的点滴成长历程,希望能成为学弟学妹们的前车之鉴. 先大概的自我介绍下,我原本从事的是网络工程师,学习的是Cisco(思科)并拥有CCNP ...

  8. Java学习日记8:文件上传工具类的实现和服务器给客户端发送图片

    文件上传的工具类: 每次文件上传要写很多东西,把这些封装成一个工具类,以后用起来就会方便很多. 先创建一个类存储上传文件的信息: package com.upload; /*** 每上传成功一个文件的 ...

  9. 黑马程序员--Java学习日记之网络编程

     ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.网络编程概述 1.计算机网络 计算机网络是指将地理位置不同的具有独立功能的多台计算机及 ...

最新文章

  1. webService——学习(3):使用JDK开发webService
  2. vue项目调用jssip_JsSIP和FreeSWITCH整合
  3. python依赖包是什么意思_Python引入依赖curses包的坑
  4. 【Flink】Flink如何传递JVM参数给JobManager和TaskManager
  5. UI设计干货模板|引导网格系统
  6. day26(模块 logging 高级用法、collection、random)
  7. vim保存文件时,生成.un~文件
  8. 目标检测(Object Detection)—— M2Det
  9. 计算机二级vb题库公众号,计算机二级vb题库
  10. 【Web前端面试笔试题】2022.08
  11. 15款国内外知名优秀PHP集成环境推荐、PHP绿色集成环境推荐
  12. 计算机专业sci二区难吗,二区的sci有多难?sci二区版面费一般多少?
  13. 武汉工程大学计算机类专业排名,2019武汉工程大学专业排名
  14. uniapp 跳转到外部链接
  15. matlab 绘图与动画制作
  16. MySql简单入门_第四篇 高级使用(4)_触发器
  17. VBA 关于for循环和变量的测试, for 循环的自变量i会停留在i+1,自变量会基于最新变化改变
  18. 枯燥的Kotlin协程三部曲(上)——概念启蒙篇
  19. TL-link WAR1208L多wan路由器带宽叠加设置
  20. JAVA中如何将大数字或字符串放进数组

热门文章

  1. 一起用ipython
  2. Linux 零拷贝 sendfile函数中文说明及实际操作
  3. php用get方式传json数据 变成null了
  4. 调用python 报R6034 错误
  5. C#-利用ZPL语言完毕条形码的生成和打印
  6. CVE-2019-2725复现(从环境搭建到getshell)
  7. Python:for循环+else与continue+break小总结
  8. vue,vue-router实现浏览器返回不刷新页面
  9. EKF优化:协方差coff公式、意义、SLAM中的Code优化
  10. SIFT算法总结:用于图像搜索