1. jdbc使用查看驱动的doc文档《connector-j.html》

2.代码实现:1. 注册驱动---2. 建立连接---3. 创建statement ,跟数据库打交道---

      ---4. 执行sql,得到ResultSet---5. 遍历结果 ---6. 释放资源

  1. package zj_1_JDBC;
  2.  
  3. import java.sql.*;
  4.  
  5. public class MainTest {
  6. public static void main(String[] args) throws ClassNotFoundException {
  7. //注册驱动
  8. Class.forName("com.mysql.jdbc.Driver"); //注册驱动这步可以写也可以不用写
  9.  
  10. String url = "jdbc:mysql://localhost/student";
  11. String username = "root";
  12. String password = "root";
  13. Connection conn = null;
  14. Statement st = null;
  15. ResultSet rs = null;
  16.  
  17. try {
            //建立连接
  18. conn = DriverManager.getConnection(url,username,password);
  19. // 创建statement
  20. st = conn.createStatement();//创建statement ,跟数据库打交道,一定需要这个对象
  21.  
  22. // 执行sql,得到ResultSet
  23. String sql = "SELECT * FROM users WHERE name = '小明'";
  24. rs = st.executeQuery(sql);
  25.  
  26. // 遍历结果
  27. while (rs.next()) { //rs.next() 当读到行末尾时会返回false,下一行有数据则返回true
  28. int id = rs.getInt("id");
  29. String name = rs.getString("name");
  30. int age = rs.getInt("age");
  31.  
  32. System.out.println(id+""+name+","+age);
  33. }
  34.  
  35. } catch (SQLException e) {
  36. e.printStackTrace();
  37. }finally {
  38. // 释放资源
  39. JDBCUtil.release(conn,st,rs);
  40. /* try {
  41. rs.close();
  42. } catch (SQLException e) {
  43. e.printStackTrace();
  44. }
  45.  
  46. try {
  47. st.close();
  48. } catch (SQLException e) {
  49. e.printStackTrace();
  50. }
  51.  
  52. try {
  53. conn.close();
  54. } catch (SQLException e) {
  55. e.printStackTrace();
  56. }*/
  57. }
  58.  
  59. }
  60. }

工具类,整合释放资源方法

  1. package zj_1_JDBC;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7.  
  8. public class JDBCUtil {
  9. Connection conn = null;
  10. Statement st = null;
  11. ResultSet rs = null;
  12.  
  13. public static void release(Connection conn, Statement st, ResultSet rs) {
  14. closeRs(rs);
  15. closeSt(st);
  16. closeConn(conn);
  17. }
  18.  
  19. private static void closeRs(ResultSet rs){
  20. try {
  21. if(rs != null){
  22. rs.close();
  23. }
  24. } catch (SQLException e) {
  25. e.printStackTrace();
  26. }finally{
  27. rs = null;
  28. }
  29. }
  30.  
  31. private static void closeSt(Statement st) {
  32. try {
  33. if(st != null) {
  34. st.close();
  35. }
  36. } catch (SQLException e) {
  37. e.printStackTrace();
  38. }finally {
  39. st = null;
  40. }
  41. }
  42.  
  43. private static void closeConn(Connection conn) {
  44. try {
  45. if(conn != null) {
  46. conn.close();
  47. }
  48. } catch (SQLException e) {
  49. e.printStackTrace();
  50. }finally {
  51. conn = null;
  52. }
  53. }
  54. }

中阶d03.1 JDBCDemo的更多相关文章

  1. 中阶 d03.5 (正篇)完整的Dao 操作数据库

    1.目录结构: util---JDBCUtil.java(工具包,整合建立链接和释放资源的方法) dao---UserDao.java(接口,定义方法) impl---UserDaoImpl.java ...

  2. 中阶d03.2 JDBC联合properties使用,通过读取本地配置文件为代码传递参数

    * 使用properties读取本地配置文件为代码传递参数 * url.用户名.密码.驱动地址等配置可以在配置文件中使用 main package zj_1_JDBC.properties; impo ...

  3. 中阶d03 JDBC 使用

    1.首先在数据库中创建表 2.安装mysql驱动 java开发环境中导入jdbc连接mysql的jar包 mysql-connector-java-5.1.7-bin.jar 下载地址:https:/ ...

  4. 中阶d03.4 JDBC_DAO

    1.环境准备(单项目下用,在大jdbc项目下只用配置一次) jdbc的驱动(mysqlxxjdbc.jar).util工具(包装释放资源.建立连接.访问properties文件等方法) 2.dao的概 ...

  5. 中阶d03.3 JDBC_CURD_Util --- 使用 junit执行单元测试(增删改查)

    1.单元测试环境准备 https://www.cnblogs.com/longesang/p/11399010.html 2.测试 3.结果返回 4.代码 新建一个test目录统一存放测试案例 查: ...

  6. R_数据视觉化处理_中阶_05

    条形图:条形图通过垂直或水平的条形展示了类型变量的分布(频数).最简单的用法为:barplot(height),height为矩阵或向量. horiz=TRUE选项:表示水平,在此之前先使用table ...

  7. 中阶 d05 tomcat 安装 eclipse上配置tomcat

    eclipse使用参考 https://www.bilibili.com/video/av49438855/?p=24 1. 直接解压 ,然后找到bin/startup.bat 2. 可以安装 启动之 ...

  8. 中阶 d04.1 xml解析

    ##XML 解析 > 其实就是获取元素里面的字符数据或者属性数据. ###XML解析方式(面试常问) > 有很多种,但是常用的有两种. * DOM * SAX ![icon](img/pa ...

  9. 中阶 d04 xml 概念及使用

    idea新建xml文件https://www.jianshu.com/p/b8aeadae39b0 或https://blog.csdn.net/Hi_Boy_/article/details/804 ...

随机推荐

  1. C++总结之template

    函数模板 我们可以把函数模板当做一种特殊的函数,里面的参数类型可以是任意类型,这样的话我们就可以减少重复定义,从而让这个函数模板自动适应不同的参数类型,也就是说函数可以适应多种类型的参数,例如doub ...

  2. 数据挖掘算法——K-means算法

    k-means中文称为K均值聚类算法,在1967年就被提出  所谓聚类就是将物理或者抽象对象的集合分组成为由类似的对象组成的多个簇的过程 聚类生成的组成为簇 簇内部任意两个对象之间具有较高的相似度,不 ...

  3. vue后台管理系统权限处理

    vue后台管理系统权限 1.权限问题:用户和管理员进入管理系统看到的模块是不一样的,管理员看的的要比用户看到的多.需要用到动态加载路由,router.addRouters()来动态的挂载路由 // 1 ...

  4. [转载]-虚拟键值表-virtual key code

    转载  虚拟键值表, virtual key code Virtual-Key Codes VK_LBUTTON (01)Left mouse button VK_RBUTTON (02)Right ...

  5. ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory

    问题描述: ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory 首先检 ...

  6. 痞子衡嵌入式:测一测i.MXRT1170 Raw NAND启动时间(从POR到进App的Reset_Handler)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT1170 Raw NAND启动时间. 关于i.MXRT1170这颗划时代的MCU,痞子衡去年10月在其刚发布的时候, ...

  7. spring最核心思想--ioc控制反转

    一核心概念 控制反转:将bean的生成交给容器,程序可以从容器中获取指定的bean. 个人理解:此优势也是spring能够流行并成为java主流框架的主要原因,java是帮助java程序员以对象的方式 ...

  8. 【笔记3-27】Python语言基础

    流程控制语句 if语句 input() if-else if-elif-else

  9. Java基础语法(8)-数组中的常见排序算法

    title: Java基础语法(8)-数组中的常见排序算法 blog: CSDN data: Java学习路线及视频 1.基本概念 排序: 是计算机程序设计中的一项重要操作,其功能是指一个数据元素集合 ...

  10. 在Keras中可视化LSTM

    作者|Praneet Bomma 编译|VK 来源|https://towardsdatascience.com/visualising-lstm-activations-in-keras-b5020 ...