前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JDBC连接数据库

JDBC连接数据库

作者头像
润森
发布2019-11-18 14:42:55
1.5K0
发布2019-11-18 14:42:55
举报
文章被收录于专栏:毛利学Python毛利学Python

参考:菜鸟教程和w3c

  • https://www.runoob.com/java/java-tutorial.html
  • https://www.runoob.com/w3cnote/jdbc-use-guide.html

首发于CSDN:

  • https://blog.csdn.net/weixin_44510615/article/details/102575750

Java 连接 MySQL

Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,

解压后得到jar库文件

环境介绍

  • IDEA
  • jdk1.8

在项目导入mysql驱动程序jar

在这里插入图片描述

这样导入import java.sql可以不报错

编写并执行 sql 语句

在mysql使用sql语句新建数据库test和创建表

代码语言:javascript
复制
CREATE TABLE `websites` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
  `url` varchar(255) NOT NULL DEFAULT '',
  `alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
  `country` char(10) NOT NULL DEFAULT '' COMMENT '国家',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

插入数据

代码语言:javascript
复制
INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '菜鸟教程', 'http://www.runoob.com', '5892', ''), ('4', '微博', 'http://weibo.com/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');
做jdbc代码,需要用到如下几个固定步骤
  • 注册mysql数据库服务器的驱动,DriverManager
  • 获取mysql数据库服务器的连接,Connection
  • 获取封装sql语句的对象,Statement
  • 执行sql语句,并返回结果集合,ResultSet
  • 迭代这个结果集合,while(){}
  • 按轻到重的原则关闭连接对象,ResultSet-Statement-Connection,在必要情况下,Connection可重用
代码如下
代码语言:javascript
复制
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MySQLDemo {
    public static void main(String[] args) {
        //声明Connection对象
        Connection con;
        //驱动程序名  
        String driver = "com.mysql.jdbc.Driver";
        //URL指向要访问的数据库名test  192.168.16.128虚拟机ip  数据库test
        // characterEncoding=utf8&useSSL=true 编码和使用SSL
        String url = "jdbc:mysql://192.168.16.128:3306/test?characterEncoding=utf8&useSSL=true";
        //MySQL配置时的用户名
        String user = "root";
        //MySQL配置时的密码
        String password = "123456";
        //遍历查询结果集
        try {
            //加载驱动程序
            Class.forName(driver);
            //1.getConnection()方法,连接MySQL数据库!!
            con = DriverManager.getConnection(url,user,password);
            if(!con.isClosed())
                System.out.println("Succeeded connecting to the Database!");
            //2.创建statement类对象,用来执行SQL语句!!
            Statement statement = con.createStatement();
            //要执行的SQL语句
            String sql = "select * from websites";
            //3.ResultSet类,用来存放获取的结果集!!
            ResultSet rs = statement.executeQuery(sql);

            System.out.println("执行结果如下所示:");
            System.out.println("-----------------");

            // 存在下一个
            while(rs.next()){
                //获取这列数据
                int id = rs.getInt("id");
                String name = rs.getString("name");
                //获取这列数据
                String myurl = rs.getString("url");
                String alexa = rs.getString("alexa");
                String country = rs.getString("country");
                //输出结果
                System.out.println(id  + "\t" + name + "\t" + myurl + "\t" + alexa + "\t" + country);
            }
            rs.close();
            con.close();
        } catch(ClassNotFoundException e) {
            //数据库驱动类异常处理
            System.out.println("Sorry,can`t find the Driver!");
            e.printStackTrace();
        } catch(SQLException e) {
            //数据库连接失败异常处理
            e.printStackTrace();
        }catch (Exception e) {
            e.printStackTrace();
        }finally{
            System.out.println("数据库数据成功获取!!");
        }
    }
}
运行如下

在这里插入图片描述

这是最基础的Java使用JDBC连接mysql数据库

扩展:JDBC

JDBC ——Java DataBase Connectivity的简写,主要是将Java程序和数据库进行连接,并通过Java程序操作数据库。

JDBC是一种底层的API,在访问数据库的时候需要在业务逻辑中直接嵌入SQL语句。JDBC不能直接访问数据库,需要借助数据库厂商提供的JDBC驱动程序。

JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。

执行流程:

  • 连接数据源,如:数据库。
  • 为数据库传递查询和更新指令。
  • 处理数据库响应并返回的结果。

JDBC 架构分为双层架构和三层架构。

双层架构

作用:此架构中,Java Applet 或应用直接访问数据源。

条件:要求 Driver 能与访问的数据库交互。

机制:用户命令传给数据库或其他数据源,随之结果被返回。

部署:数据源可以在另一台机器上,用户通过网络连接,称为 C/S配置(可以是内联网或互联网)。

三层架构

侧架构特殊之处在于,引入中间层服务。

流程:命令和结构都会经过该层。

吸引:可以增加企业数据的访问控制,以及多种类型的更新;另外,也可简化应用的部署,并在多数情况下有性能优势。

现在的开发已经很少使用到JDBC了,Mybatis和Spring框架已经把JDBC完美的封装,并映射到实体类,我们只需要一个简单的调用就可以完成很多工作,特别是Mybatis,灵活多变。但是,作为一个专业的开发者,JDBC是我们必须深刻理解的,这样才能更好的使用ORM框架。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小刘IT教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java 连接 MySQL
    • 编写并执行 sql 语句
      • 做jdbc代码,需要用到如下几个固定步骤
        • 代码如下
          • 运行如下
          • 扩展:JDBC
            • 双层架构
              • 三层架构
              相关产品与服务
              数据库
              云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档