JDBC连接数据库步骤的深入分析
1。加载JDBC驱动程序:
连接数据库之前,首先要加载数据库,你想连接到JVM(java虚拟机)。
这是通过静态方法执行forName(String className)的java.lang.class类。
例如:
复制代码代码如下所示:
尝试{
加载mysql驱动程序
Class.forName(COM。MySQL JDBC驱动程序。。);
} catch(ClassNotFoundException e){
System.out.println(找不到驱动级,驱动加载失败!;
E.printStackTrace();
}
当载荷加载的驱动程序类的实例,在DriverManager注册。
2,提供JDBC连接的URL
连接URL定义协议的子协议,数据源身份,当数据库连接。
写作形式:协议:协议:数据源的识别
协议:总是以JDBC开头的JDBC
协议:该桥连接或数据库管理系统的名称的司机。
数据源标识:标记查找数据库源和连接端口的地址。
例如:(MySQL的连接URL)
jdbc:
/ / /本地:3306 testuseunicode = truecharacterencoding = GBK;
useunicode =真实:表示Unicode字符集的使用。如果字符编码设置
GB2312和GBK,这个参数必须设置为true。= GBK字符编码:字符编码。
三.创建到数据库的连接
连接到数据库,你需要获得连接对象的java.sql.drivermanager,
对象表示与数据库的连接。
使用DriverManager的getconnectin(网址字符串,字符串的用户名,
字符串密码方法将路径传递给指定的数据库、数据库的用户名和数据库的名称。
获得密码。
例如:
复制代码代码如下所示:
mysql数据库连接、用户名和密码是root用户
字符串URL =MySQL JDBC: / /:本地:3306 /测试;
字符串;
字符串密码;
尝试{
连接=骗子
drivermanager.getconnection(URL、用户名、密码);
} catch(SQLException SE){
System.out.println(数据库连接失败!;
Se.printStackTrace();
}
4。创建一个表
执行SQL语句,你必须得到一个java.sql.statement实例,并声明实例分为以下3
种类型:
1,执行静态SQL语句,它通常由语句实例实现。
2、执行动态SQL语句,它通常是由一个PreparedStatement实例实现。
三.执行数据库的存储过程,它通常是由一个实例执行CallableStatement。
具体实现方式:
复制代码代码如下所示:
声明语句= con.createstatement();
PreparedStatement pstmt = con.preparestatement(SQL);
cstmt CallableStatement =
con.preparecall({电话demosp(,)});
5。执行SQL语句
声明接口提供了执行SQL语句的三种方式:executeQuery,executeUpdate
和执行
1、ResultSet executeQuery(字符串sqlstring):SQL语句执行查询数据库
它返回一个结果集(结果集)对象。
2,int executeUpdate(字符串sqlstring):用于执行插入、更新或
DELETE语句和SQL DDL语句,如创建表和删除表,等等。
3、执行(sqlstring):用于执行多个结果集返回,多更新计数,或两党组合
句u3002
具体实现代码:
复制代码代码如下所示:
结果集RS = stmt.executequery(select * from…);
int行= stmt.executeupdate(插入…);
布尔标志= stmt.execute(String sql);
6。治疗结果
两例:
1,更新返回的执行是受此操作影响的记录数。
2、对查询的执行结果是一个ResultSet对象。
结果集包含所有行符合SQL语句中的条件,并为他们提供了一套获取方法
对行中数据的访问。
使用结果集的访问方法(ResultSet对象获取数据):
复制代码代码如下所示:
而(rs.next()){
rs.getstring字符串(名称);
字符串rs.getstring(通= 1); / /这个方法更有效
}
(列从左到右编号,从第1列开始)
7。关闭JDBC对象
操作完成后,将关闭所有使用的JDBC对象,以释放JDBC资源,关闭命令和声音。
明确的顺序是相反的:
1。关闭记录集
2,结束发言
三.关闭连接对象
复制代码代码如下所示:
如果(RS)!= null){ / /关闭记录集
尝试{
Rs. Close();
} catch(SQLException e){
E.printStackTrace();
}
}
如果(STMT!= NULL)关闭语句
尝试{
Stmt.close();
} catch(SQLException e){
E.printStackTrace();
}
}
如果(Conn!= null){关闭连接对象
尝试{
Conn.close();
} catch(SQLException e){
E.printStackTrace();
}
}