通过java程序操作数据库。

对数据库操作是对记录的操作。记录就是DML和DCL。

只要Java程序跟任何设备进行了连接,用完之后必须释放资源。最简单基础班讲I/O流,Java跟文件进行了连接,用完之后关闭文件流。数据库也是一个设备。Java跟数据库连接上了用完之后也要关闭。必须把资源释放。

  1. package cn.itcast.jdbc;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8.  
  9. import com.mysql.jdbc.Driver;
  10.  
  11. public class JdbcDemo1 {
  12. public static void main(String[] args) throws SQLException {
  13. //1.注册驱动
  14. DriverManager.registerDriver(new Driver());//一注册驱动,驱动就加载到内存里面了 也就是说我们就可以用它了
  15. //2.获取连接对象
  16. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day17", "root", "");
  17. System.out.println(con);
  18. //connection是接口,是驱动,驱动肯定把这个接口实现了 编程用最顶层去接收操作起来会比较方便 前面是父,后面是子 用最顶层接收
  19. //3.通过连接对象获取操作sql语句的Statement
  20. Statement st = con.createStatement();
  21. //4.操作sql语句
  22. String sql = "select * from user";
  23. ResultSet rs = st.executeQuery(sql);//ResultSet就是查询的结果,可以想象成是集合,但是它不是集合
  24.  
  25. //5.遍历结果集
  26. /* boolean flag = rs.next();//向下移动,返回值为true,代表有下一条记录。
  27.  
  28. System.out.println(flag);
  29. int id = rs.getInt(1);
  30. int id1 = rs.getInt("id");
  31. System.out.println(id);
  32. System.out.println(id1);
  33. String username = rs.getString(2);
  34. String username1 = rs.getString("username");
  35. System.out.println(username);
  36. System.out.println(username1);*/
  37. while(rs.next()){
  38. int id = rs.getInt("id");
  39. String username = rs.getString("username");
  40. String password = rs.getString("password");
  41. String email = rs.getString("email");
  42. System.out.println(id+" "+username+" "+password+" "+email);
  43. }
  44. //只要Java程序跟任何设备进行了连接,用完之后必须释放资源。最简单基础班讲I/O流,Java跟文件进行了连接,用完之后关闭文件流。数据库也是一个设备。Java跟数据库连接上了用完之后也要关闭。必须把资源释放。
  45. //6.释放资源
  46. rs.close();//结果集得关
  47. st.close();
  48. con.close();
  49. //直接把con关闭了,数据库和程序断开了。但是statement和resultset没有及时释放,它还在内存存着。close()是释放和回收资源。
  50. //close()的顺序和进门出门是一样的,是进门的时候先进大门,出门的时候是最后才出大门
  51. //=============
  52. //Java可以操作数据库
  53. }
  54. }

day17-jdbc 3.jdbc快速入门的更多相关文章

  1. 01.JDBC操作数据库-快速入门操作

    /** * 简单入门操作 * 注:先将mysql-connector-java-5.1.36.jar 构建 Build Path环境当中去 * @param args * @throws Except ...

  2. day39-Spring 12-Spring的JDBC模板:快速入门

    Spring AOP的关键是它的底层的原理和思想,配置和使用并不是十分困难.AOP本身就是一个思想,是面向对象的延伸,不是用来替换面向对象的,而是用来解决面向对象中的一些问题的.在最初的时候提出过一个 ...

  3. Java学习:JDBC快速入门

    本节类容 JDBC基本概念 快速入门 JDBC基本概念 概念: Java DataBase Connectivity Java 数据库连接,Java语言操作数据库 JDBC本质: 其实是官方(sun公 ...

  4. JDBC快速入门

    /** * JDBC快速入门: * 1.导入jar包 数据库驱动 * 2.注册驱动 * 3.获取数据库连接对象 Connection * 4.定义sql语句 * 5.获取发送执行sql语句的对象 St ...

  5. 一个简单程序快速入门JDBC

    首先创建jdbc的库,再在这个库里面创建一张users表. drop database if exists jdbc; create database if not exists jdbc; use ...

  6. Java学习笔记36(jdbc快速入门)

    JDBC: Java DataBase Connectivity 是java程序连接存取数据库的应用程序接口 (是sun公司的程序员定义的一套操作数据库的规则,然后下面的各个公司如:mysql,sql ...

  7. JDBC基础:JDBC快速入门,JDBC工具类,SQL注入攻击,JDBC管理事务

    JDBC基础 重难点梳理 一.JDBC快速入门 1.jdbc的概念 JDBC(Java DataBase Connectivity:java数据库连接)是一种用于执行SQL语句的Java API,可以 ...

  8. Mybatis框架 的快速入门

    MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...

  9. MyBatis学习总结(一)——MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  10. MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

随机推荐

  1. Docker 资料

    一.Docker 入门介绍 http://dockone.io/article/111 二.ASP.NET Core + Docker http://www.cnblogs.com/keepcodin ...

  2. Java_脚本引擎_03_nashorn支持es6

    一.前言 jdk1.8的nashorn 支持部分es6语法. 二.支持es6 jdk默认是关闭了对es6的支持的,想要开启对es6的支持,需要设置一下jvm参数: -Dnashorn.args=--l ...

  3. 条款44:将与参数无关的代码剥离template

    使用template时,不小心的时候可能就会带来代码膨胀的问题: template<typename T, std::size_t n> class SquareMatrix{ publi ...

  4. 使用BackgroundWorker组件

    BackgroundWorker 组件用来执行诸如数据库事务.文件下载等耗时的异步操作. 开始 在应用程序中添加一个BackgroundWorker实例,如果用的是VS,可以从工具上直接拖到应用程序: ...

  5. git教程5-查看关系图与no fast forward融合

    1.每一个提交相当于一个版本,版本都有版本号与之对应.通常通过git commit -m "name"为每次提交命名. 2.融合:即将次分支的最后一个版本添加到主分支上.当融合冲突 ...

  6. localtime 和 localtime_r 的区别

    转自:http://blog.csdn.net/maocl1983/article/details/6221810 #include <cstdlib> #include <iost ...

  7. shell变量扩展技巧

    SHELL中有一些变量扩展的技巧,做下归纳总结 1.取字符串slice规则一:${变量名:位置起点}含义:由指定的位置起点开始,截取子字符串到字符串结束例如: var="/etc/passw ...

  8. vertex shader must minimally write all four components of POSITION

    Though the POSITION semantic must be written out by the vertex shader, it cannot be read in by the p ...

  9. Tomcat设计模式分析(转) 2

    Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析 这个分为两个部分的系列文章研究了 Apache Tomcat 服务器的系统架构以及其运用的很多经典设计模式.第 1 部分 分析了 Tom ...

  10. Xaml中string(字符串)常量的定义以及空格的处理

    (1)基本用法 xaml中可以实例化各种对象,比如在ResourceDictionary中定义字符串常量: <ResourceDictionary xmlns="http://sche ...