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);
}
}

最新文章

  1. Leetcode Unique Word Abbreviation
  2. 第七天 面向对象进阶与socket编程
  3. poj 2777
  4. WinStore控件之Button、HyperlinkButton、RadioButton、CheckBox、progressBar、ScrollViewer、Slider
  5. linux设备驱动归纳总结(十一):写个简单的看门狗驱动【转】
  6. MicrosoftProjectOxford 微软牛津计划
  7. 01-03-03【Nhibernate (版本3.3.1.4000) 出入江湖】cascade的测试
  8. uva 11107 Life Forms
  9. python使用__future__
  10. 【动态规划】POJ 1161 & ZOJ1463 & XMU 1033 Brackets sequence
  11. 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中
  12. android 反编译(dex 和 odex),非脑残转帖,绝对可靠
  13. linq 为什么要用linq linq写法
  14. python学习笔记 python实现k-means聚类
  15. NodeJs之定时器与队列
  16. hnctf安恒--蜘蛛侠呀
  17. SharpDevelope 在 Windows 7 SP1 with .net framework4.0 下编译时找不到resgen.exe 解决办法
  18. Log4J2用法
  19. 【转载】js关闭当前页面(窗口)的几种方式总结
  20. VRP基础及操作

热门文章

  1. Day11继承、封装、多态-面向对象编程(2)
  2. P7003 [NEERC2013]Hack Protection
  3. jenkens安装教程
  4. 第二篇 -- SpringBoot入门Helloworld
  5. Django关闭html转义
  6. 解决iOS上网页滑动不流畅问题
  7. firewalld防火墙基础
  8. Python设计模式: 最佳的"策略"模式实践代码
  9. synchronized优化手段:锁膨胀、锁消除、锁粗化和自适应自旋锁...
  10. CentOS 永久修改系统时间