Jdbc、Jdo方面

相关文章链接(如有不足之处请留言补充): 
面试宝典目录-文章链接 

1、可能会让你写一段Jdbc连Oracle的程序,并实现数据查询. 
答:程序如下: 

Java代码   收藏代码
  1. import java.sql.*;   
  2. public class jdbc   
  3. {   
  4. String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl";   
  5. String theUser="admin";   
  6. String thePw="manager";   
  7. Connection c=null;   
  8. Statement conn;   
  9. ResultSet rs=null;   
  10. public jdbc()   
  11. {   
  12. try{   
  13. Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();   
  14. c = DriverManager.getConnection(dbUrl,theUser,thePw);   
  15. conn=c.createStatement();   
  16. }catch(Exception e){   
  17. e.printStackTrace();   
  18. }   
  19. }   
  20. public boolean executeUpdate(String sql)   
  21. {   
  22. try   
  23. {   
  24. conn.executeUpdate(sql);   
  25. return true;   
  26. }   
  27. catch (SQLException e)   
  28. {   
  29. e.printStackTrace();   
  30. return false;   
  31. }   
  32. }   
  33. public ResultSet executeQuery(String sql)   
  34. {   
  35. rs=null;   
  36. try   
  37. {   
  38. rs=conn.executeQuery(sql);   
  39. }   
  40. catch (SQLException e)   
  41. {   
  42. e.printStackTrace();   
  43. }   
  44. return rs;   
  45. }   
  46. public void close()   
  47. {   
  48. try   
  49. {   
  50. conn.close();   
  51. c.close();   
  52. }   
  53. catch (Exception e)   
  54. {   
  55. e.printStackTrace();   
  56. }   
  57. }   
  58. public static void main(String[] args)   
  59. {   
  60. ResultSet rs;   
  61. jdbc conn = new jdbc();   
  62. rs=conn.executeQuery("select * from test");   
  63. try{   
  64. while (rs.next())   
  65. {   
  66. System.out.println(rs.getString("id"));   
  67. System.out.println(rs.getString("name"));   
  68. }   
  69. }catch(Exception e)   
  70. {   
  71. e.printStackTrace();   
  72. }   
  73. }   
  74. }   


2、Class.forName的作用?为什么要用? 
答:调用该访问返回一个以字符串指定类名的类的对象。 
3、Jdo是什么? 
答:JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。 
4、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。 
答:一种分页方法 

Jsp代码   收藏代码
  1. <%   
  2. int i=1;   
  3. int numPages=14;   
  4. String pages = request.getParameter("page") ;   
  5. int currentPage = 1;   
  6. currentPage=(pages==null)?(1):{Integer.parseInt(pages)}   
  7. sql = "select count(*) from tables";   
  8. ResultSet rs = DBLink.executeQuery(sql) ;   
  9. while(rs.next()) i = rs.getInt(1) ;   
  10. int intPageCount=1;   
  11. intPageCount=(i%numPages==0)?(i/numPages):(i/numPages+1);   
  12. int nextPage ;   
  13. int upPage;   
  14. nextPage = currentPage+1;   
  15. if (nextPage>=intPageCount) nextPage=intPageCount;   
  16. upPage = currentPage-1;   
  17. if (upPage<=1) upPage=1;   
  18. rs.close();   
  19. sql="select * from tables";   
  20. rs=DBLink.executeQuery(sql);   
  21. i=0;   
  22. while((i<numPages*(currentPage-1))&&rs.next()){i++;}   
  23. %>   
  24. //输出内容   
  25. //输出翻页连接   
  26. 合计:<%=currentPage%>/<%=intPageCount%><a href="List.jsp?page=1">第一页</a>  
  27. <a href="List.jsp?page=<%=upPage%>">上一页</a>   
  28. <%   
  29. for(int j=1;j<=intPageCount;j++){   
  30. if(currentPage!=j){   
  31. %>   
  32. <a href="list.jsp?page=<%=j%>">[<%=j%>]</a>   
  33. <%   
  34. }else{   
  35. out.println(j);   
  36. }   
  37. }   
  38. %>   
  39. <a href="List.jsp?page=<%=nextPage%>">下一页</a><a href="List.jsp?page=<%=intPageCount%>">最后页 </a>   



面试宝典目录-文章链接

猜你喜欢

转载自zhimin8haomi.iteye.com/blog/1696934
jdo