修真院java后端工程师学习课程--任务1(day 5)

Posted 王育奕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修真院java后端工程师学习课程--任务1(day 5)相关的知识,希望对你有一定的参考价值。

 

昨天知识的回顾

  1. package com.jdbc;  
  2. import java.sql.Connection;  
  3. import java.sql.DriverManager;  
  4. import java.sql.ResultSet;  
  5. import java.sql.Statement;  
  6. public class FirstJDBC {  
  7. public static void main(String[] args)  
  8.     {  
  9. //调用连接数据库的操作  
  10.         Connection con = createConnection();      
  11.     }  
  12. /** 
  13.      * JDBC 建立 SQL Server数据库连接 
  14.      */  
  15. private static Connection createConnection() {  
  16. //定义加载驱动程序  
  17.         String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";  
  18. //定义 连接 服务器 和 数据库sample  
  19.         String dbURL = "jdbc:sqlserver://localhost:1433; DataBaseName = sample1" ;  
  20. //默认用户名,不要用windows默认身份验证  
  21.         String userName = "sa" ;   
  22.         String userPassword = "zhichao" ;  
  23.         Connection connection = null ;  
  24.         Statement sta = null ;  
  25. try {  
  26. //正式加载驱动  
  27.             Class.forName(driverName);  
  28. //开始连接  
  29.             connection = DriverManager.getConnection(dbURL, userName, userPassword);  
  30.             System.out.println("Connection Success !");  
  31. //向数据库中执行SQL语句  
  32.             sta = connection.createStatement() ;  
  33.             ResultSet rs = sta.executeQuery("SELECT id,name,height From Table_1");  
  34. while(rs.next())  
  35.             {  
  36. int id = rs.getInt("id");  
  37.                 String name = rs.getString("name");  
  38. float height = rs.getFloat("height");  
  39.                 System.out.println("id = "+id+" name = "+name+" height = "+height);  
  40.             }  
  41.         } catch (Exception e) {  
  42.             System.out.println("Connection Fail !");  
  43.             e.printStackTrace() ;  
  44.         }  
  45. /** 
  46.          * 关闭数据库 
  47.          * @param connection 
  48.          */  
  49. finally  
  50.         {  
  51. try {  
  52. if (null != sta)  
  53.                 {  
  54.                     sta.close() ;  
  55.                     sta = null;  
  56.                     System.out.println("Statement 关闭成功");  
  57.                 }  
  58. if (null != connection)  
  59.                 {  
  60.                     connection.close() ;  
  61.                     connection = null;  
  62.                     System.out.println("Connection 关闭成功");  
  63.                 }  
  64.             } catch (Exception e) {  
  65.                 e.printStackTrace() ;  
  66.             }         
  67.         }         
  68. return connection ;  
  69.     }  

 

小结:

    要写一个jdbc程序,先要加载相应数据库的驱动程序,驱动程序最好放在你建的工程里面,可以在你的工程下面建一个 lib文件夹以存储外部的jar文件,这样的话把你的工程拷贝到别的计算机运行,仍能成功执行。

 

jdbc代码一般步骤:

1)加载外部驱动程序(jar包)

2)正式加载驱动程序 (Class.forName(driverName) )

3)获取connection连接 (在jdk中的sql包中,只提供了一个类那就是DriverManeger,通过调用它的静态方法getConnection(),可以得到以数据库的连接

4)创建sql语句的声明(Statement),执行sql语句(查询),遍历结果集

5)关闭数据库连接(一般用finally{}来处理,或者调用方法的形式来完成,关闭之前先判断你要关闭的对象连接是否为空,如果空那会抛异常,所以先判断)


                                             今天学习的是DAO设计模式实现数据的增删改查(进一步封装JDBC工具类)

 

一.DAO模式的介绍

DAO就是Data access object,也就是数据访问接口。数据访问接口就是夹在业务访问和数据库中间,与数据库打交道的。

DAO模式实际上是两个模式的组合,即Data Accessor (数据访问者)模式Active Domain Object(领域对象)模式。Data Accessor 模式实现了数据访问和业务逻辑的分离;Active Domain Object 模式实现了业务数据的对象化封装。

 

二.DAO模式的组建

一个典型的DAO实现有下列几个组件:

  • 一个DAO接口;
  • 一个实现DAO接口的具体类; 
  • 数据传递对象(DTO):有些时候叫做值对象(VO)或领域模型(domain)

 

使用 DAO模式 来对数据库做增删改查操作

 

这种模式可以大概分为三个层:1.DAO层  2.服务层  3.表现层

1)表现层 :相当于客户端用来查看,提交信息的角色

2)服务层 :是表现层和DAO层的纽带,其实也没干什么事就是通知消息的角色

3)DAO   :真正要做事的角色(对数据库的某些操作)

 

举个生活中的例子:

就好比你去餐厅吃饭,你充当一个 (表现层)的角色,然后有美女服务员(服务层),问你需要吃什么东西,给你下一张订单,让你填。之后服务员把订单传到 厨师(DAO层)那里,具体操作厨师会搞定,一段时间后厨师把做好的食物传给服务员,服务员把食物在传给客户,这些操作就算基本完成了。

 

执行顺序: 表现层-->服务层-->DAO层-->返回服务层-->返回表现层

实例链接:http://blog.csdn.net/hzc543806053/article/details/7395998

 


以上是关于修真院java后端工程师学习课程--任务1(day 5)的主要内容,如果未能解决你的问题,请参考以下文章

修真院“善良”系列之十八WEB程序员从零开始到就业的全资料V1.0——只看这一篇就够了!

CSS练习IT修真院--练习5-护工个人界面

CSS练习IT修真院--练习5-护工个人界面

修真院任务日报模版

pc端的企业网站(IT修真院test8)详解1-1

pc端的企业网站(IT修真院test8)详解1-4