利用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

原文地址:https://www.cnblogs.com/NeverCtrl-C/p/6668659.html