package day01_jdbc;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties; public class Demo01 { // mysql
// 连接数据库的字符串
// url的格式:jdbc协议+数据库协议+主机地址+端口+连接的数据库
private static String url = "jdbc:mysql://localhost:3306/sakila";
private static String user = "root";
private static String password = ""; /*
// sql server
private static String url = "jdbc:sqlserver://localhost:1433;DatabaseName=MyDB"; private static String user = "sa";
private static String password = "123456";
*/ public static void main(String[] args) throws Exception {
// m1(); // m2(); m3();
} private static void m3() throws SQLException, ClassNotFoundException {
/**
* 通过new的方式去注册驱动是有问题的
* 其实这样注册了两次驱动程序
*/
// Driver driver = new com.mysql.jdbc.Driver();
/**
* 反射:获取类的对象
*/
Class.forName("com.mysql.jdbc.Driver");
// 执行Driver类中的静态代码块
// 执行了上面的代码直接就将驱动注册到了驱动管理器中 Connection conn = DriverManager.getConnection(url, user, password); System.out.println(conn);
} private static void m2() throws SQLException {
Driver driver = new com.mysql.jdbc.Driver(); // mysql
// 1.注册驱动程序:注册驱动可同时注册多个
DriverManager.registerDriver(driver);
// DriverManager.registerDriver(driver2); // 2.获取连接数据库
Connection conn = DriverManager.getConnection(url, user, password); System.out.println(conn);
} /**
* 1) 直接使用驱动程序连接
* @throws SQLException
*/
private static void m1() throws SQLException {
// 1.创建驱动程序的实现类对象
Driver driver = new com.mysql.jdbc.Driver(); // 新版本
// Driver driver = new org.gjt.mm.mysql.Driver(); // 旧版本
// Driver driver = new com.microsoft.sqlserver.jdbc.SQLServerDriver(); Properties prop = new Properties();
prop.setProperty("user", user); // 用户名
prop.setProperty("password", password);
// 2.连接数据库
Connection conn = driver.connect(url, prop);
System.out.println(conn);
}
}

JDBC基础篇(MYSQL)——通过JDBC连接数据库的三种方式的更多相关文章

  1. Java通过JDBC连接数据库的三种方式!!!并对数据库实现增删改查

    前言 java连接数据库完整流程为: 1,获得驱动(driver),数据库连接(url),用户名(username),密码(password)基本信息的三种方式. 2,通过获得的信息完成JDBC实现连 ...

  2. 转:Mysql读写分离实现的三种方式

    1 程序修改mysql操作类可以参考PHP实现的Mysql读写分离,阿权开始的本项目,以php程序解决此需求.优点:直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配缺点:自 ...

  3. Mysql 删除数据表的三种方式详解

    用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, 用 delete. 删除强度:dro ...

  4. 【Android基础】Activity之间进行参数传递的三种方式

    1.使用Intent进行传输 //发送数据的Activity class button implements OnClickListener{ @Override public void onClic ...

  5. PHP连接数据库、创建数据库、创建表的三种方式

    这篇博客主要介绍了三种方式来连接MySQL数据库以及创建数据库.创建表.(代码是我在原来的基础上改的) MySQLi - 面向对象 MySQLi - 面向过程 PDO MySQLi 面向对象 < ...

  6. jdbc基础 (二) 通过properties配置文件连接数据库

    csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...

  7. JSP连接数据库的两种方式:Jdbc-Odbc桥和Jdbc直连(转)

    学JSP的同学都要知道怎么连数据库,网上的示例各有各的做法,弄得都不知道用谁的好.其实方法千变万化,本质上就两种:Jdbc-Odbc桥和Jdbc直连. 下面先以MySQL为例说说这两种方式各是怎么连的 ...

  8. java基础-jdbc——三种方式加载驱动建立连接

    String url = "jdbc:mysql://localhost:3306/student?Unicode=true&characterEncoding=utf-8" ...

  9. JDBC的批处理操作三种方式 pstmt.addBatch()

    package lavasoft.jdbctest; import lavasoft.common.DBToolkit; import java.sql.Connection; import java ...

随机推荐

  1. 自动执行文件夹中的py文件

    写一个函数,接收一个地址,执行其中的py文件,包括子文件.path.endswith('.py') 判断以'.py'结尾,是什么类型的文件.os.system('python %s'%path) 模拟 ...

  2. 【LeetCode】1248. 统计「优美子数组」

    1248. 统计「优美子数组」 知识点:数组:前缀和: 题目描述 给你一个整数数组 nums 和一个整数 k. 如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」. ...

  3. 解决远程连接服务器数据库报错:Host ‘XXXXXX’ is blocked because of many connection errors

    参考:https://blog.csdn.net/li_li_lin/article/details/72764683和 https://blog.csdn.net/zaishijizhidian/a ...

  4. windows系统显示文字编码的CMD命令

    chcp命令,显示.设置系统文字编码格式.

  5. Linux bash命令行常用快捷键(Xshell和secure CRT以及gnome-terminal)

    常用的命令行击键操作 ctrl + insert   xshell中复制,可以设置选中内容自动复制ctrl shift + c crt中复制shift + insert xshell中粘贴ctrl s ...

  6. 第二十二篇 -- 事件与信号(自定义label信号的双击功能)

    在第六篇中已经学习过了自定义信号的相关内容了,那一篇中讲的是自定义类中的自定义信号,类和信号都是自己定义的.那么今天想要学习的是事件处理和信号的关系.如同Label标签,它本身有很多的信号,但是它没有 ...

  7. Docker隔离技术

    前言 Docker系列文章: 此篇是Docker系列的第九篇,之前的文章里面或多或少的提到Docker的隔离技术,但是没有很清楚的去聊这个技术,但是经过这么多文章大家一定对Docker使用和概念有了一 ...

  8. (Opencv06)绘制轮廓函数

    (Opencv06)绘制轮廓函数 cv2.drawContours(image, contours, contourIdx, color, thickness) img: 指在哪副图像上绘制轮廓 会改 ...

  9. 构建前端第2篇之--ESLint 配置

    张艳涛 写于2021-1-19 报错: http://eslint.org/docs/rules/space-before-function-paren Missing space before fu ...

  10. linux统计nginx日志中请求访问量命令

    Nginx 三种分配策略:轮询.权重.ip_hash(比如你登录了一个网站,登录信息已经保存到 a 机器,但当你做后续操作时的请求会到 b 机器,那么就获取不到你原来登录的信息,此时你就需要重新登录了 ...