Javajdbc

JDBC体系结构 JDBC接口(API)包括两个层次: 面向应用的API:Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结 果)。 面向数据库的API:Java Driver API,供开发商开发数据库驱动程序用。
连接方式一:
public void testConnection1() {
try { //1.提供java.sql.Driver接口实现类的对象 Driver driver = null; driver = new com.mysql.jdbc.Driver(); //2.提供url,
指明具体操作的数据 String url = “jdbc:mysql://localhost:3306/test”;
//3.提供Properties的对象,指明用户名和密码 Properties info = new Properties();
info.setProperty(“user”, “root”); info.setProperty(“password”, “abc123”);
//4.调用driver的connect(),获取连接
说明:上述代码中显式出现了第三方数据库的API 2.4.2 连接方式二 :
说明:相较于方式一,这里使用反射实例化Driver,不在代码中体现第三方数据库的API。体现了面向接口编 程思想。
连接方式三:
Connection conn = driver.connect(url, info); System.out.println(conn); } catch (SQLException e) { e.printStackTrace(); } }@Test public void testConnection2() { try {//1.实例化Driver String className = “com.mysql.jdbc.Driver”; Class clazz = Class.forName(className); Driver driver = (Driver) clazz.newInstance(); //2.提供url,指明具体操作的数据 String url = “jdbc:mysql://localhost:3306/test”; //3.提供Properties的对象,指明用户名和密码 Properties info = new Properties(); info.setProperty(“user”, “root”); info.setProperty(“password”, “abc123”);
//4.调用driver的connect(),获取连接
Connection conn = driver.connect(url, info); System.out.println(conn);
} catch (Exception e) { e.printStackTrace();
} }

public void testConnection3() {
 try {
 //1.数据库连接的4个基本要素: String url = "jdbc:mysql://localhost:3306/test"; 
 String user = "root"; String password = "abc123"; 
 String driverName = "com.mysql.jdbc.Driver"; 
 //2.实例化Driver Class clazz = Class.forName(driverName);

连接方式四:
Driver driver = (Driver) clazz.newInstance();
//3.注册驱动
DriverManager.registerDriver(driver);
//4.获取连接 Connection conn = DriverManager.getConnection(url, user, password); System.out.println(conn);
} catch (Exception e) { e.printStackTrace();
} }
public void testConnection4() { try
{
//1.数据库连接的4个基本要素
String url = “jdbc:mysql://localhost:3306/test”;
String user = “root”; String password = “abc123”;
String driverName = “com.mysql.jdbc.Driver”;
//2.加载驱动 (①实例化Driver ②注册驱动) Class.forName(driverName);
//Driver driver = (Driver) clazz.newInstance();
//3.注册驱动 //
DriverManager.registerDriver(driver);
/可以注释掉上述代码的原因,是因为在mysql的Driver类中声明有:
static { try {DriverManager.registerDriver(new Driver());
} catch (SQLException var1) { throw new RuntimeException(“Can’t register driver!”);
} }
/ //3.获取连接 Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
} catch (Exception e) { e.printStackTrace();
} }

连接方式五:
public void testConnection5() throws Exception {
//1.加载配置文件 InputStream is = ConnectionTest.class.getClassLoader().getResourceAsStream(“jdbc.properties”);
Properties pros = new Properties(); pros.load(is);
//2.读取配置信息 String user = pros.getProperty(“user”); String password = pros.getProperty(“password”);
String url = pros.getProperty(“url”);
String driverClass = pros.getProperty(“driverClass”); //3.加载驱动 Class.forName(driverClass);
//4.获取连接 Connection conn = DriverManager.getConnection(url,user,password); System.out.println(conn);
}
(最终版) 其中,配置文件声明在工程的src目录下:
user=root password=abc123 url=jdbc:mysql://localhost:3306/test driverClass=com.mysql.jdbc.Driver
①实现了代码和数据的分离,如果需要修改配置信息,直接在配置文件中修改,不需要深入代码 ②如果修改 了配置信息,省去重新编译的过程。 第3章:使用PreparedStatement实现CRUD操作 3.1 操作和访问数据库 数据库连接被用于向数据库服务器发送命令和 SQL 语句,并接受数据库服务器返回的结果。其实一个数据库 连接就是一个Socket连接。 在 java.sql 包中有 3 个接口分别定义了对数据库的调用的不同方式: Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。 PrepatedStatement:SQL 语句被预编译并存储在此对象中,可以使用此对象多次高效地执行该语句。 @Test public void testConnection5() throws Exception { //1.加载配置文件
InputStream is = ConnectionTest.class.getClassLoader().getResourceAsStream(“jdbc.properties”);
Properties pros = new Properties(); pros.load(is);
//2.读取配置信息
String user = pros.getProperty(“user”); String password = pros.getProperty(“password”);
String url = pros.getProperty(“url”);
String driverClass = pros.getProperty(“driverClass”);
//3.加载驱动 Class.forName(driverClass)
; //4.获取连接 Connection conn = DriverManager.getConnection(url,user,password); System.out.println(conn);
}
user=root password=abc123 url=jdbc:mysql://localhost:3306/test driverClass=com.mysql.jdbc.Driver

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值