JDBC第一天:JDBC的基础

第一,JDBC叫java数据库连接技术,是用来实现数据库的增、删、改、查的接口技术。

第二,实现数据库的连接步骤:在这之前需要导包

          1,准备四大参数

                          a,,准备驱动类:driverClassName:com.mysql.jdbc.Driver   

                          b,准备url:jdbc:mysql://localhost:3306/DATABASE(注:DATABASE为所创建的数据库名称)

                          c,准备数据库用户

                           d,准备数据库密码

           2,加载驱动类

                         Class.forName("com.mysql.jdbc.Driver");

           3,获取连接对象connection;

                       Connection con = DriverManager.getConnection(url, username, password);

第三:实现对啊网数据库的增、删、改、查

           1,获取Statement发送器,向数据库发送sql语气。

                        Statement stmt = con.createStatement();

            2,调用Statement的  int  executeUpdate(String sql)方法发送sql语气。可以发送DML,DDL           

                        String sql = "DELETE FROM stu";
                        int r = stmt.executeUpdate(sql);

注:对数据库的增删改查重要改 int r = stmt.executeUpdate(sql);的sql就行了。

             3,执行查询:获取ResultSet结果集

                                 ResultSet rs = stmt.executeQuery(sql);

              4,解析ResultSet结果集

                                  a,把行光标移动到下一行,可以调用next()方法完成。

while(rs.next()) {//把光标向下移动一行,并判断下一行是否存在!
	int empno = rs.getInt(1);//通过列编号来获取该列的值!
	String ename = rs.getString("ename");//通过列名称来获取该列的值
	double sal = rs.getDouble("sal");		
	System.out.println(empno +  ", " + ename + ", " + sal);
	}

                  5,关闭资源:倒关
        rs.close();
        stmt.close();
        con.close();//必须要关,不关就死! 

public void fun3() throws Exception {
		Connection con = null;//定义引用
		Statement stmt = null;
		ResultSet rs = null;
		try {
			/*
			 * 一、得到连接
			 */
			String driverClassName = "com.mysql.jdbc.Driver";
			String url = "jdbc:mysql://localhost:3306/exam";
			String username = "root";
			String password = "123";
			
			Class.forName(driverClassName);
			con = DriverManager.getConnection(url, username, password);//实例化
			
			/*
			 * 二、创建Statement
			 */
			stmt = con.createStatement();
			String sql = "select * from emp";
			rs = stmt.executeQuery(sql);
			
			rs.last();//把光标移动到最后一行
System.out.println(rs.getRow());
			rs.beforeFirst();
			
			/*
			 * 三、循环遍历rs,打印其中数据
			 * 
			 * getString()和getObject()是通用的!
			 */
//			while(rs.next()) {
//				System.out.println(rs.getObject(1) + ", " 
//						+ rs.getString("ename") + ", " + rs.getDouble("sal"));
//			}
			
			int count = rs.getMetaData().getColumnCount();
			while(rs.next()) {//遍历行
				for(int i = 1; i <= count; i++) {//遍历列
					System.out.print(rs.getString(i));
					if(i < count) {
						System.out.print(", ");
					}
				}
				System.out.println();
			}
			
		} catch(Exception e) {
			throw new RuntimeException(e);
		} finally {
			// 关闭
			if(rs != null) rs.close();
			if(stmt != null) stmt.close();
			if(con != null) con.close();
		}
		
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章