日期:2014-05-16 浏览次数:20376 次
一、JDBC
?
?JDBC(Java Database Connectivity)是SUN公司为了简化和统一对数据库的操作而制定的一种规范,提供了一套完整的与具体数据库无关操作数据库的接口,允许用户操作底层数据库。
?
二、JDBC架构
?
三、Java应用通过JDBC连接数据库(以Mysql为例)
?
? ? ? ?? 1、首先要将JDBC驱动程序加载到内存中
?
? ? ? ? ? ? ? ? ? Java api中提供了一个DriverManager类可以加载驱动程序。
? ? ? ? ? ? ? ? ? 通过DriverManager.registerDriver(Driver driver)即可加载驱动,
? ?但该方法不建议使用,其原因如下:
?
? ? ? ? ? ? ? ? ? ? ? ? ??<1>、该方式加载驱动会导致驱动被注册两次,内存中会产生两个
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Driver对象
? ?<2>、程序依赖于具体数据库的api,替换底层数据库较麻烦
?
? ? ? ? ? ? ? ? ? ? 另一种方式是通过Class.forName("com.mysql.jdbc.Driver"),该种
? ? ? ? ? ? ? 方式只在内存中产生一个驱动对象,而传入的参数也仅依赖一个字符串
? ? ? ? ? ? ? ? ? ? ?程序的灵活性更高。
?
? ? ? ?2、取得一个数据库的连接对象(Connection)
?
? ? ? ? ? ? ? ? ?通过DriverManager.getConnection(String url,String
? ? ? ? ? ? username,String password)方法可获得一个数据库连接对象.
?
? url--------->>数据库URL连接地址(url用于标识数据库的位置,即程
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??序要连接的数据库,url的写法:
? jdbc:mysql:[]//localhost:3306/mydb?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? paramName=paramValue)
?
<1>、jdbc:----->协议
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <2>、mysql:[] ---->自协议
?
<3>、localhost:3306---->主机:端口号
?
<4>、mydb---->数据库
?
? <5>、可将username和password添加到url地址中,然后调
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 用DriverManager.getConnection(String url)方法
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 取得一个Connection对象,此时的url写法为:
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? jdbc:mysql://localhost:3306/mydb?
? ? ??username="admin"&password="123"
? ? ?
?
? ? ? ? ? ? ? ? ? username------>>数据库用户名
?
? ? ? ? ? ?