首先说明用 java.sql包进行jdbc连接的步骤:

1.加载数据库的驱动。(一般是oracle和mysql,oracle的数据驱动名是:Oracle.jdbc.driver.OracleDriver       mysql的驱动名是:com.mysql.jdbc.Driver)

2.获得连接

3.获得预编译对象,

4.绑定参数。

5.执行sql

6.获得结果集,遍历得出结果。

7.关闭连接。

说明这里用的是mysql数据库:数据库名如下所示:

代码如下所示:

  1. package com.qls.mybatis.first;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8.  
  9. public class CrudJDBCTest {
  10.  
  11. /**
  12. * 使用原生态的jdbc进行数据库连接。
  13. * @throws SQLException
  14. */
  15. public static void main(String[] args) throws SQLException {
  16. // TODO Auto-generated method stub
  17. //Connection 接口,与特定数据库的连接。
  18. Connection connection=null;
  19. //预编译对象
  20. PreparedStatement preparedStatement=null;
  21. //结果集
  22. ResultSet resultSet=null;
  23. try {
  24. //加载驱动:这里加载的是mysql驱动。mysql的驱动是:com.mysql.jdbc.Driver
  25. Class.forName("com.mysql.jdbc.Driver");
  26. /**
  27. * wms-elite本机测试版是连接的数据库名
  28. * root:是用户名。
  29. * a123456:是密码。
  30. */
  31. connection=DriverManager.getConnection(
  32. "jdbc:mysql://localhost:3306/wms-elite本机测试版?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true",
  33. "root", "a123456");
  34. //获取PreparedStatement对象:
  35. String sql="SELECT *from user where address=?";
  36. preparedStatement=connection.prepareStatement(sql);
  37. //绑定参数:
  38. preparedStatement.setString(1, "北京市");
  39. //执行查询,查询出结果。
  40. resultSet=preparedStatement.executeQuery();
  41. while(resultSet.next()){
  42. System.out.println("用户名是:"+resultSet.getString("username")+"\n"+"性别是:"+resultSet.getString(4));
  43. }
  44. } catch (Exception e) {
  45. e.printStackTrace();
  46. }finally{
  47. /**
  48. * 关闭数据库连接。
  49. * 关闭的顺序是:ResultSet,PreparedStatement,Connection.
  50. */
  51. if (resultSet!=null) {
  52.  
  53. resultSet.close();//关闭结果集
  54. }
  55. if (preparedStatement!=null) {
  56.  
  57. preparedStatement.close();//关闭预编译对象
  58. }
  59. if (connection!=null) {
  60.  
  61. connection.close();//关闭连接。
  62. }
  63.  
  64. }
  65. }
  66.  
  67. }/*output:
  68. 用户名是:张三
  69. 性别是:1
  70. *///:~

上面的代码基本上对重要的语句都进行了注释。输出结果:

  1. 用户名是:张三
  2. 69 性别是:1
    见下图所示:

  1.  

使用jdk中的java.sql包中的方法进行jdbc连接的更多相关文章

  1. java.io包中的字节流—— FilterInputStream和FilterOutputStream

    接着上篇文章,本篇继续说java.io包中的字节流.按照前篇文章所说,java.io包中的字节流中的类关系有用到GoF<设计模式>中的装饰者模式,而这正体现在FilterInputStre ...

  2. 1.java.io包中定义了多个流类型来实现输入和输出功能,

    1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分 类,按功能分为:(C),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(G)   A.输入流和输出流 B ...

  3. 集合框架的类和接口均在java.util包中。 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。

    集合框架的类和接口均在java.util包中. 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换.

  4. Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类

    因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...

  5. Java日期时间API系列13-----Jdk8中java.time包中的新的日期时间API类,时间类转换,Date转LocalDateTime,LocalDateTime转Date等

    从前面的系列博客中可以看出Jdk8中java.time包中的新的日期时间API类设计的很好,但Date由于使用仍非常广泛,这就涉及到Date转LocalDateTime,LocalDateTime转D ...

  6. Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。

    通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...

  7. Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析

    目录 0.前言 1.TemporalAccessor源码 2.Temporal源码 3.TemporalAdjuster源码 4.ChronoLocalDate源码 5.LocalDate源码 6.总 ...

  8. Java日期时间API系列11-----Jdk8中java.time包中的新的日期时间API类,使用java8日期时间API重写农历LunarDate

    通过Java日期时间API系列7-----Jdk8中java.time包中的新的日期时间API类的优点,java8具有很多优点,现在网上查到的农历转换工具类都是基于jdk7及以前的类写的,下面使用ja ...

  9. Java日期时间API系列12-----Jdk8中java.time包中的新的日期时间API类,日期格式化,常用日期格式大全

    通过Java日期时间API系列10-----Jdk8中java.time包中的新的日期时间API类的DateTimeFormatter, 可以看出java8的DateTimeFormatter完美解决 ...

随机推荐

  1. while循环,格式化输出,运算符

      1.while循环 1.while 基本机构: while 条件: 循环体 执行流程: 当条件成立时为真,执行循环体. 再次判断条件是否成立,如果成立再次执行. 当判断条件结果为假时,跳出循环,本 ...

  2. css设置内容超出后显示省略号

    1.使用overflow: hidden把超出的内容进行隐藏: 2.然后使用white-space: nowrap设置内容不换行: 3.最后使用text-overflow: ellipsis设置超出内 ...

  3. DrawGrid 做图片显示 代码简单 参考性强 (Delphi7)

      运行效果图 源码 http://files.cnblogs.com/lwm8246/DrawGrid_demo.rar   procedure TfrmMain.GridDrawCell(Send ...

  4. Linux编译移植Qt5的环境_Xillinx的ZYNQ平台

    Linux编译Qt环境 2017年的十一假期,足不出户,一个人在教研室里面搞Qt的移植.我手里面有Samsung的CortexA8,Samsung的 CortexA53还有Ti的Sitara系列的AM ...

  5. MyFirstDay(附6篇python亲历面试题)

    一直以来都是在看别人写的内容,学习前辈们的经验,总感觉自己好像没有什么值得拿出来分享和交流的知识,最近在准备换工作(python后端开发),坐标上海,2019年3月,半个月面了6家(感觉效率是真不高. ...

  6. 为什么C++编译器不能支持对模板的分离式编译

    首先,一个编译单元(translation unit)是指一个.cpp文件以及它所#include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个 ...

  7. CodeForces 522D Closest Equals 树状数组

    题意: 给出一个序列\(A\),有若干询问. 每次询问某个区间中值相等且距离最短的两个数,输出该距离,没有则输出-1. 分析: 令\(pre_i = max\{j| A_j = A_i, j < ...

  8. 3336 /P1948电话网络(二分答案)

    3336 电话网络  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold       题目描述 Description 由于地震使得连接汶川县城电话线全部损坏,假如你是 ...

  9. 获取<考试>博文密码!o(*≧▽≦)ツ

    就是CJ高二组通用的密码 如果你想知道,请联系QQ,3057244225,或者直接面对面问博主(...) 是我们的内部材料,原创题目是不能外传的.请谅解. 当然如果是原题的话我们是不会上锁的啦

  10. 【HTML&CSS】 第二章:标准模式下的页面与怪异模式下的页面区别

    盒模型 前面提到,盒模型(box mode)是浏览器 Quirks Mode 和 Standards Mode 的主要区别. 描述 对于“盒模型”一词并没有明确的文档定义,它是开发人员描述 CSS 中 ...