JDBC 连接数据库
JAVA使用JDBC访问数据库的步骤:
1. 得到数据库驱动程序 (导包)
2. 创建数据库连接
3. 执行SQL语句
4. 得到结果集
5. 对结果集做相应的处理(增,删,改,查)
6. 关闭资源:这里释放的是DB中的资源
设置classpath:
1. 在java文件中起的包名一定要是工程基目录下的子目录,classpath:基目录
2. .jar包,需要将这个.jar包的路径包括这个文件的全名添加到classpath中来
- Oracle连接字符串的书写格式:
“oracle:jdbc:thin:@ip:1521: 数据库名”,”数据库用户名”,”数据库密码”
JDBC—数据库 代码如下:
* JDBC常用接口简介:
* DriverManager
* 用于管理JDBC驱动的服务类。程序中使用该类的主要功能是获取Connection对象。
* Connection
* 代表数据库连接对象,每个Connection代表一个物理连接会话。
* Statement
* 用于执行SQL语句的工具接口。该对象既可以用于执行DDL、DCL语句,也可以用于执行DML语句,
* 还可以用于执行SQL查询。
*
* PreparedStatement
* 预编译的Statement对象。PreparedStatement是Statement的子接口,它允许
* 数据库预编译SQL语句。
* ResultSet
* 结果集对象。该对象包含访问查询结果的方法,ResultSet可以通过列索引或者
* 列名获得列数据。
* --------------JDBC编程步骤------------------
* 1、加载数据库驱动
* Class.forName(driverClass)
* //driverClass就是数据库驱动类所对应的字符串,
* //加载MySQL Class.forName("com.mysql.jdbc.Driver");
* //加载Oracle Class.forName("Oracle.jdbc.driver.oracleDriver");
* 2、通过DriverManager获取数据库连接
* //获取数据库连接
* DriverManager.getConnection(String url , String use , String pass) ;
* 数据库的URL通常遵守:
* jdbc:subprotocol:other stuff
* //MySQl 的写法 jdbc:mysql://hostname:port/databasename
* //Oracle 的写法 jdbc:oracle:thin:@hostname:port:databasename
* 3、通过Connection对象创建Statement对象:
* a、createStatement() : 创建基本的Statement对象。
* b、prepareStatement(String sql) :根据传入的SQL语句创建预编译的Statement。
* c、prepareCall(String sql) :根据传入的SQL语句创建CallableStatement对象。
* 4、使用Statement执行SQL语句。所有Statment都有如下3个方法来执行SQL语句:
* execute :可以执行任何SQL语句。
* executeUpdate : 主要用于执行DML和DDL语句。执行DML返回受SQL语句影响的行数。执行DDL返回0 ;
* ececuteQuery : 只能执行查询语句,执行后返回代表查询结果的ResultSet对象。
* 5、操作结果集。如果执行SQL语句是查询语句,执行结果将返回一个ResultSet对象,该对象里保存了SQL语句查询的结果。
* ResultSet对象的两类方法:
* 1\next、previous、first、last、beforeFirst、afterLast、absolute
* 2\getXxx获取记录指针向行,特定列值。
* 6、回收数据库资源。关闭ResultSet、Statement和Connection等资源。
1 String sql="select * from yuchen_user";
2 Connection con=null
3 Statement st=null;
4 ResultSet rs=null; 5 6 try 7 { 8 Class.forName("oracle.jdbc.driver.OracleDriver");
//建立数据库连接 9 con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:name", "scott","tiger"); 10 st=con.createStatement();
11 rs=st.executeQuery(sql); //执行sql语句 12 while
13 { 14 System.out.println(rs.getInt("id")); 15 System.out.println(rs.getString("name")); 16 } 17 }catch(Exception e) 18 { 19 e.printStackTrace(); 20 }finally 21 {//回收数据库资源 22 try 23 { 24 con.close(); 25 }catch(Exception e) 26 {} 27 28 try 29 { 30 st.close(); 31 }catch(Exception e) 32 { 33 } 34 35 try 36 { 37 rs.close(); 38 }catch(Exception e) 39 { 40 } 41 42 }