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

  • 相关阅读:
    使用 ASP.NET Core MVC 创建 Web API(五)
    使用 ASP.NET Core MVC 创建 Web API(四)
    使用 ASP.NET Core MVC 创建 Web API(三)
    使用 ASP.NET Core MVC 创建 Web API(二)
    使用 ASP.NET Core MVC 创建 Web API(一)
    学习ASP.NET Core Razor 编程系列十九——分页
    学习ASP.NET Core Razor 编程系列十八——并发解决方案
    一个屌丝程序猿的人生(九十八)
    一个屌丝程序猿的人生(九十七)
    一个屌丝程序猿的人生(九十五)
  • 原文地址:https://www.cnblogs.com/NeverCtrl-C/p/6668659.html
Copyright © 2011-2022 走看看