Java连接数据库
来源:互联网 发布:三分屏录制软件 编辑:程序博客网 时间:2024/05/29 03:08
- 先介绍下连接数据库的几个步骤:
- 步骤一:根据应用程序所用的的数据库,选择JDBC的驱动程序类型。
- 步骤二:连接到数据库,得到Connection对象。
- 步骤三:通过Connection对象创建Statement对象。
- 步骤四:使用Statement对象提交SQL语句。
- 步骤五:操作结果集。
- 步骤六:回收数据库资源。
1.加载JDBC驱动程序: 通过java.lang.Class类的静态方法forName(String className)实现。 Class.forName(com.mysql.jdbc.Driver);(异常自动添加或异常抛出都ok)
- 成功加载后,会将Driver类的实例注册到DriverManager类中
- 2.提供JDBC连接的URL:
- 连接的URL定义了连接数据时的协议,子协议,数据源标识。
- 书写形式:协议:子协议:数据源标识。
- 协议:在JDBC中总是以jbbc开始
- 子协议:是桥连接的驱动程序或是数据库管理系统名称
- 数据源标识:标记找到数据库来源的地址与连接端口。
-
- 例如:(MySql的连接URL)(?问号后面是传的参数)
- jdbc:mysql:
- //localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
- useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
- gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
- 例如:(MySql的连接URL)(?问号后面是传的参数)
3.创建数据库连接。
- 连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库连接。
- 使用DriverManager的getConnection(String url,String username,String password)方法传入指定想要连接的数据库的路径,数据库的用户名
- 和密码来获的。
DriverManager.getConnection(jdbc:mysql://localhost:3306/test, root, 123) ;
4创建一个Statement
要执行Sql语句,必须获得java.aql.Statement实例,
PreparedStatement pstmt = con.prepareStatement(sql) ; - 5.执行SQL语句。
- Statement接口提供了3种执行sql语句的方法:executeQuery ,executeUpdate , execute 。
- 1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句
- ,返回一个结果集(ResultSet)对象。
- 2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或
- DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
- 3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的
- 语句。
- 具体实现的代码:
- ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
- int rows = stmt.executeUpdate("INSERT INTO ...") ;
- boolean flag = stmt.execute(String sql) ;
6处理结果集:(两种情况)
1执行更新返回的是本次操作影响到的记录数。
2执行查询返回的结果是一个ResultSet对象
- • ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些
- 行中数据的访问。
- • 使用结果集(ResultSet)对象的访问方法获取数据:
- while(rs.next()){
- String name = rs.getString("name") ;
- String pass = rs.getString(1) ; // 此方法比较高效
- }
- (列是从左到右编号的,并且从列1开始)
7关闭JDBC对象:
- 操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声
- 明顺序相反:
- 1、关闭记录集
- 2、关闭声明
- 3、关闭连接对象
- if(rs != null){ // 关闭记录集
- try{
- rs.close() ;
- }catch(SQLException e){
- e.printStackTrace() ;
- }
- }
- if(stmt != null){ // 关闭声明
- try{
- stmt.close() ;
- }catch(SQLException e){
- e.printStackTrace() ;
- }
- }
- if(conn != null){ // 关闭连接对象
- try{
- conn.close() ;
}catch(SQLException e){ e.printStackTrace() ; } }
0 0
- java--java连接数据库
- Java 数据库编程 - 连接数据库
- Java连接数据库谈
- java连接MySql数据库!
- Java连接数据库
- Java连接数据库谈
- Java连接数据库
- JAVA连接各种数据库
- JAVA 连接 MySQL 数据库
- java 代理连接数据库
- java连接数据库
- Java连接Oracle数据库
- java连接数据库准备
- Java连接Access数据库
- Java连接数据库实例
- Java连接DB2数据库
- Java连接Access数据库
- JAVA 连接ORACLE数据库
- C++与设计模式(3)——适配器模式
- Netty系列之Netty线程模型
- java中Proxy(代理与动态代理)
- 系统乔迁留念贴
- mybatis mbg自动生成的selectByExample按条件查询不出来值。
- Java连接数据库
- 人是否能做到无微不至的关心
- java实习生第一天
- lcm 驱动分析
- 不用输入法输自己的名字!!!!
- RAM ROM Flash 区别
- LightOJ-1057-状压dp,记忆化
- d-heap的子节点与父节点关系
- 堆排序的顺序存储