要创建JDBC连接到数据库并使用JDBC连接到数据库的程序,请执行以下操作:
首先准备JDBC所需的4个参数(user,password,url,driverClass )
(1)用户名
)2)密码
)3) URL定义了连接数据库时的协议、子协议、数据源的标识符,它们之间用冒号隔开。 表示形式:协议:子协议:数据源id
协议:在JDBC中总是以JDBC开头
子协议:桥接驱动程序或数据库管理系统名称。
数据源id将发现数据库源的地址和连接端口标记为。
例如,(MySql连接URL ) )。
JDBC : MySQL ://localhost :3306/test? useUnicode=true魅力之铃=gbk;
use unicode=true :表示使用unicode字符集。 如果设置了有魅力的铃铛
gb2312或GBK,此参数必须设置为true。 魅力之铃=gbk :字符编码方式。
)4)驱动程序类连接到数据库所需的驱动程序。
1、加载JDBC驱动程序:
在连接到数据库之前,首先将要连接的数据库的驱动程序装载到JVM(Java虚拟机)中。 这是通过java.lang.Class类的静态方法forname(stringclassname )实现的。
例如:
用于加载try//MySQL的驱动程序类class.forname (' com.MySQL.JDBC.driver ' ); }找不到}catch(classnotfoundexceptione ) { System.out.println ()驱动程序类。 驱动程序加载失败!' ); e .打印任务跟踪(; ) 2、创建与数据库的连接
要连接到数据库,必须请求java.sql.DriverManager以获取表示与数据库的连接的Connection对象。
使用驱动程序管理器的get connectin (字符串URL,字符串用户名称,字符串密码)方法指定的目标数据库的路径、数据库用户名和密码
连接到MySql数据库,用户名和密码为rootstringurl=' JDBC : MySQL 3360//localhost 33603306/test '; String username='root '; String password='root '; try { connection con=driver manager.getconnection (URL,username,password ); }catch(sqlexceptionse ) { System.out.println ('数据库连接失败!' ); se.printStackTrace (; } 3、创建预准备语句
要执行SQL语句,必须获取java.sql.Statement实例。 Statement实例有以下三种类型:
1、执行静态SQL语句。 通常在Statement实例中实现。
2、执行动态SQL语句。 通常在PreparedStatement实例中实现。
3、执行数据库存储过程。 通常在CallableStatement实例中实现。
具体实施方法:
statement stmt=con.create statement (;
preparedstatementpstmt=con.preparestatement (SQL;
callablestatementcstmt=con.prepare call (' { calldemosp )? ();
4 .执行SQL语句
•Statement接口可以通过三种方式执行SQL语句:执行查询、执行更新和执行
1、resultset execute query (string SQL string ) :执行查询数据库的SQL语句并返回结果集(resultset )对象。
2、intexecuteupdate (string SQL string ) :用于执行INSERT、update或DELETE和SQL DDL语句,如CREATE TABLE和DROP TABLE
3、execute(SQLstring ) :用于执行返回多个结果集、多个更新次数或两者的语句。
具体实现代码:
resultset RS=stmt.execute query (' select * from . ' );
int rows=stmt.execute update (' insert into . ' );
布尔标志=stmt.execute (string SQL );
5、导线测量结果集
两种情况:
1、执行更新时,将返回此次操作中受影响的记录数。
2 .执行查询返回的结果是ResultSet对象。
• ResultSet包含满足SQL语句条件的所有行,并通过一组get方法提供这些行
访问行中的数据。
要使用访问结果集(ResultSet )对象的方式获取数据,请执行以下操作:
wile(RS.next ) ) }
stringname=RS.getstring('name );
stringpass=RS.getstring(1; //这个方法比较有效率
}
(列从左到右进行编号,从列1开始。)
6、处理异常并关闭JDBC对象资源
操作完成后,关闭所有正在使用的JDBC对象并释放JDBC资源。 关闭顺序和顺序相反。
1、首先关闭requestSet
2、关闭预设状态
3、最后关闭连接处的连接
if(RS )!=null(//记录集try ) RS.close ); }catch(sqlexceptione ) { e.printStackTrace ); }if(STMT!=null(//封闭声明try ) stmt.close ); }catch(sqlexceptione ) { e.printStackTrace ); }if(Conn!=null(//要连接到的try ) Conn.close; }catch(sqlexceptione ) { e.printStackTrace ); }