zoukankan      html  css  js  c++  java
  • 利用JDBC连接数据库(MySQL)

    1 在eclipse中创建一个maven项目(在Java模式下,不要在JavaEE模式下)

      1.1 file  -->> new  -->> project

        

        

        

      

        

      

    2 下载数据库驱动包

        2.1 在刚刚创建的项目中找到 pom.xml 并单击打开

        

        

        2.2 选择 dependencies -->> add

          

        

        2.3 在框中输入 mysql 敲一下回车,然后选择对应的版本后点击OK就行啦

          (前提是你已经安装好了maven,并且已经在eclipse中进行了相应的配置)

          

        依赖包下载成功后,在 pom.xml 文件中会显示相应的信息,也可以直接在 pom.xml 文件中添加代码来下载相应的驱动包

        

         最后记得保存 pom.xml 文件

    3 在maven项目中新建一个包,再在此包下新建一个类

      

     4 JDBC知识 

      java数据库连接.
        JDBC是JAVA提供的一套标准连接数据库的接口;规定了连接数据库的步骤和功能,
        不同的数据库提供商提供了一套JDBC实现类;他们称为数据库驱动.
        JDBC的主要接口有:
          DriverManager : 用于加载驱动并建立数据库连接
          Connection : 表示与特定数据库的连接会话
          Statement : 用于执行SQL语句
          ResultSet : 表示查询的结果集
        通过JDBC操作数据库是自动进行提交的(当然可以进行手动关闭)

    5 利用JDBC连接数据库的步骤

      5.1 加载驱动包Cass.forName()
      5.2 调用驱动建立连接:Connection -->> 生成类为:DriverManager
      5.3 通过连接创建语句对象: Statement
      5.4 执行SQL语句:Statement
      5.5 若是查询语句会得到结果集:ResultSet
      5.6 遍历结果集获取查询结果
      5.7 关闭连接

    6 实例之 -->> 创建一个表

      1 package day01;
      2 
      3 import java.sql.Connection;
      4 import java.sql.DriverManager;
      5 import java.sql.Statement;
      6 
      7 /**
      8  * JDBC 
      9  *     java数据库连接.
     10  *     JDBC是JAVA提供的一套标准连接数据库的接口;规定了连接数据库的步骤和功能,
     11  *         不同的数据库提供商提供了一套JDBC实现类;他们称为数据库驱动.
     12  *     JDBC的主要接口有:
     13  *         DriverManager : 用于加载驱动并建立数据库连接
     14  *         Connection : 表示与特定数据库的连接会话
     15  *         Statement : 用于执行SQL语句
     16  *         ResultSet : 表示查询的结果集
     17  *         通过JDBC操作数据库是自动进行提交的
     18  * @author soft01
     19  * 
     20  * 创建表
     21  *
     22  */
     23 public class Demo01 {
     24     public static void main(String[] args){
     25         /*
     26          * 使用JDBC连接数据库的步骤:
     27          *         1 加载驱动包Cass.forName()
     28          *         2 调用驱动建立连接:Connection -->> 生成类为:DriverManager
     29          *         3 通过连接创建语句对象: Statement
     30          *         4 执行SQL语句:Statement
     31          *         5 若是查询语句会得到结果集:ResultSet
     32          *         6 遍历结果集获取查询结果
     33          *         7 关闭连接
     34          */
     35         try {
     36 
     37             /*
     38              * 1 加载驱动包
     39              *         不同数据库传入的字符串内容不一致
     40              *         1.1 注意: 
     41              *             若抛出:java.lang.ClassNotFoundException通常有两种情况导致
     42              *                 1.1.1  没有在项目中导入驱动包
     43              *             1.1.2 formatName方法中字符串格式有误
     44              */
     45             Class.forName("com.mysql.jdbc.Driver"); //mysql驱动包的固定写法
     46             System.out.println("驱动加载完毕。");
     47             
     48             /*
     49              * 2 通过DriverManager与数据库建立连接
     50              *         使用静态方法getConnection, 要传入三个参数
     51              *             参数1 数据库地址,不同数据库格式不同
     52              *             参数2 数据库用户名
     53              *             参数3 数据库密码
     54              */
     55             Connection conn = DriverManager.getConnection(
     56                     "jdbc:mysql://localhost:3306/test", // jdbc:mysql:// + IP + : + 端口 + 数据库名称  
     57                     "root", // 用户名
     58                     "182838"); // 用户密码
     59             System.out.println("链接成功");
     60             
     61             /*
     62              * 3 创建语句对象
     63              * Statement针对不同类型的SQL语句有不同的执行方法
     64              *         ResultSet executeQuery(String sql)
     65              *                 用来执行查询语句(SQL)的方法,返回的是一个查询结果集
     66              * 
     67              *         int executUpdate(String sql)
     68              *                 用来执行DML语句的方法,返回值为执行了该SQL后影响了数据库中多少条数据
     69              * 
     70              *         boolean execute(String sql)  
     71              *                 可以执行所有类型的SQL语句,但是DQL,DML都有专门的方法,所以该方法通常
     72              *             用来执行DDL语句.当返回值为true时表示该SQL语句执行后有结果集,没有结果集
     73              *             的都是返回的false.(并不是根据语句的对错来返回true或者false)
     74              */
     75             Statement state = conn.createStatement();
     76             
     77             //书写SQL语句
     78             String sql = "CREATE TABLE userinfo_fury("
     79                     + " id INT (10) PRIMARY KEY AUTO_INCREMENT, "
     80                     + " username VARCHAR (30), "
     81                     + " password VARCHAR (30), "
     82                     + " email VARCHAR (50), "
     83                     + " nickname VARCHAR (30), "
     84                     + " account FLOAT (10, 2) DEFAULT 15600) ";
     85             System.out.println(sql);
     86             
     87             //4 执行SQL语句
     88             state.execute(sql);
     89             System.out.println("执行完毕");
     90             
     91             state.close(); //关闭语句对象
     92             conn.close(); //关闭连接对象        
     93             
     94         }catch(Exception e) {
     95             e.printStackTrace();
     96         }
     97         
     98         
     99     }
    100 }
    创建一个表

    7 实例之 -->> 查询数据库表中的数据

     1 package test;
     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 /**
    10  * Description: 
    11  */
    12 public class Test {
    13     public static void main(String[] args) {
    14         Connection conn = null;
    15         try {
    16             Class.forName("com.mysql.jdbc.Driver"); //01加载数据库驱动包
    17             conn = DriverManager.getConnection( //02连接数据库
    18                     "jdbc:mysql://localhost:3306/test",
    19                     "root",
    20                     "182838");
    21             Statement state = conn.createStatement(); //03创建SQL语句对象
    22             
    23             String sql = "SELECT * " //04 拼接SQL语句
    24                     + "FROM userinfo_fury ";
    25             
    26             ResultSet rs = state.executeQuery(sql); //05 执行SQL语句
    27             
    28             while(rs.next()) { //06 遍历查询到的结果集
    29                 int id = rs.getInt("id");
    30                 String username = rs.getString("username");
    31                 System.out.println(username + " -->> " + id);
    32             }
    33             
    34         }catch (Exception e) {
    35             e.printStackTrace();
    36         }finally {
    37             if(null != conn) {
    38                 try {
    39                     conn.close(); // 07 关闭连接
    40                 }catch(SQLException e) {
    41                     e.printStackTrace();
    42                 }
    43             }
    44         }
    45     }
    46 }
    查询数据库中表的内容

     

    8 待改进

      8.1 写一篇博客专门介绍maven的安装和eclipse配置 -->> 三少有点懒,直接找有昕拿安装文档,哈哈哈  2017年5月25日15:18:51

      8.2 使用数据库连接池来访问数据库【搞懂DBUTil类】 

        待更新...  2017年5月25日15:20:02

    9 问题点

      9.1 maven下载包

        疑惑点:在eclipse中配置maven时明明已经将阿里云的镜像更改了,为什么不能够进行自动下载jar包呢?这个问题困扰三少一周啦,哎,哎,哎...2017年4月5日14:41:50

        问题原因:有可能是当时网络原因导致,多等待一会就行啦;是在不行直接将依赖的相关信息写到配置文件中,这样速度就会快很多。2017年5月25日15:16:13

  • 相关阅读:
    Python 进程管理工具 Supervisor 使用教程
    Python cx_Oracle 安装小记
    使用 IIS 过程中遇到的一些问题
    http请求的post提交数据的四种格式form-data,row,binary,urlencode
    sqlmap 笔记
    数据库服务器及命令行相关操作
    SDL应用软件安全研发周期
    ldap目录访问协议
    计算机行业证书解释
    gunicorn Python部署应用
  • 原文地址:https://www.cnblogs.com/NeverCtrl-C/p/6668659.html
Copyright © 2011-2022 走看看