ORACLE学习(二)

1.JDBC连接ORACLE

   

                                                //1.加载驱动
			Class.forName("oracle.jdbc.driver.OracleDriver");
			//2.得到连接
			Connection conn = DriverManager.
				getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
			//3.创建statement对象
			Statement sm = conn.createStatement();
			//4.执行sql,并返回结果
			ResultSet rs = sm.executeQuery("select * from emp");
			
			while(rs.next()){
				System.out.println("用户名是:"+rs.getString(2));
			}
			//用完之后一定要关闭资源
			rs.close();
			sm.close();
			conn.close();

 

2.JSP分页查询

   

 <body>
    <h2>数据库分页示例</h2>
    <table border="1">
    	<tr><td>用户名</td><td>薪水</td></tr>
    	<%
    		//1.加载驱动
			Class.forName("oracle.jdbc.driver.OracleDriver");
			//2.得到连接
			Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
			//3.创建statement对象
			Statement sm = conn.createStatement();
			//总页数
			int pageCount = 0;
			//总记录数
			int totalCount = 0;
			//单页容量
			int pageSize = 3;
			//获取当前页数
			String  s_pageNow = request.getParameter("pageNow");
			int pageNow = 1;
			if(s_pageNow!=null &&  !"".equals(s_pageNow)){
				pageNow = Integer.valueOf(s_pageNow);
			}
			
			String sql = " select * from  (select a1.*,rownum rn from "  
				+"(select * from emp) a1 where rownum <="+pageNow*pageSize
				+") where rn>="+((pageNow-1)*pageSize+1);
				System.out.println(sql);
			String sql_total = " select count(*) from emp";
			
			
			ResultSet rs = null;
			//4.执行sql,并返回结果
			rs = sm.executeQuery(sql_total);
			if(rs.next()){
				totalCount = rs.getInt(1);
				//计算页数
				if(totalCount%pageSize==0){
					pageCount = totalCount/pageSize;
				}else{
					pageCount = totalCount/pageSize+1;
				}
			}
			rs = sm.executeQuery(sql);
			
			while(rs.next()){
				out.println("<tr>");
				out.println("<td>"+rs.getString(2)+"</td>");
				out.println("<td>"+rs.getString(6)+"</td>");
				out.println("</tr>");
			}
			out.println("<tr>");
			out.println("<td colspan='2'>");
			for(int i=1;i<pageCount;i++){
				out.println("<a href=fenye.jsp?pageNow="+i+"> &nbsp;"+i+"</a>");
			}
			out.println("</td>");
			out.println("</tr>");
			//用完之后一定要关闭资源
			rs.close();
			sm.close();
			conn.close();
    	 %>
    </table>
  </body>

3. oracle小技巧

   

---------------------使用子查询插入数据
--新建要插入数据的表
create table kkk(myId number(4),myname varchar2(50),mydept number(5));
--通过子查询插入数据
insert into kkk
  (myid, myname, mydept)
  select empno, ename, deptno from emp where deptno = 10;


---------------------使用子查询更新数据
update emp
   set (job,sal,comm) = (select job, sal, comm
                                   from emp
                                  where empno = 7698)
 where empno = 7782;

    

猜你喜欢

转载自mylava.iteye.com/blog/1612526