修真院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. }
  70. }

小结:

要写一个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

原文地址:https://www.cnblogs.com/yuyiWang/p/8387764.html

时间: 2024-10-13 07:21:59

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

第65节:Java后端的学习之Spring基础

Java后端的学习之Spring基础 如果要学习spring,那么什么是框架,spring又是什么呢?学习spring中的ioc和bean,以及aop,IOC,Bean,AOP,(配置,注解,api)-springFramework. 各种学习的知识点: spring expression language spring integration spring web flow spring security spring data spring batch spring网站: http://sp

Java 后端工程师实习总结

2017-9-16 8 月份开始到现在,进行了一个多月的实习,岗位是 Java Web 后端开发.这过程学到的知识着实比自学要来得多,而且也让我意识到需要学习的知识也更加多.在这里我会在比较大的方面总结这次实习中学习到的事情,以及之后需要努力学习的知识. 基础 经过一个多月的项目的锻炼,最大一点感受就是基础的重要.这里我指的是数据结构基础.因为经历过实际项目的开发,无疑我更清楚一个企业项目里的编程是怎样一会事,明白实际用到的技术大概是怎样而这个过程我了解到基本的数据结构是如此重要.老实说,我感觉

2019年Java后端工程师常见面试题和感想

来新公司有5个月了,从第二个月开始就参与公司后端工程师的面试工作了,包括校招在内,面试超过100个(包括40个校招的终面)应聘者了,应聘者中有超过10年的技术经理,有6年以上的高级开发,有3到5年的中级开发,有刚毕业的初级开发,当然还有未毕业的硕士生本科生,有入职公司的,也有外包公司来参与公司项目的,总之,各种水平层次的都有,每个人的素质也参差不齐,今天就分两个部分讲一讲,一个是作为技术面试官,我比较喜欢问的问题,二是面试后的一些感想,希望对大家有帮助,同时也是要鞭策自己. 一,常见的面试题 这

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

这是两年以来,修真院收集整理的学习资料顺序.以CSS15个任务,JS15个任务为基础,分别依据要完成任务的不同的技能点,我们整理出来了这么一篇在学习的时候需要看到的资料. 这是Version 1.0,接下来会优化和更新到2.0.现在只有WEB,接着会推出Java. 任务地址在这里. 任务体系是从简单到难,官网提供了更多更详细的资料. 资料 css部分任务1:九宫格--用html+css制作一个网页通过这个任务能学到:1.网页是由什么组成的:2.如何生成一个网页:3.如何访问一个网页:4.html

Java工程师学习指南(入门篇)

Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线. 所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇),笔者也打算趁此机会,回忆一下自己的Java学习历程.今天我们要讲的是,

想了解Java后端学习路线?你只需要这一张图!

前言 学习路线图往往是学习一样技术的入门指南.网上搜到的Java学习路线图也是一抓一大把. 今天我只选一张图,仅此一图,足以包罗Java后端技术的知识点.所谓不求最好,但求最全,学习Java后端的同学完全可以参考这张图进行学习路线安排. 当然,有一些知识点是可选的,并不是说上面有的你都要会啦.我在复习秋招的过程中就是基于此图进行复习的,感觉效果还是不错的. 闲言少叙,我们还是看看这张图上都包含哪些有价值的信息吧.再次说明,本文只对路线图做一个简单地解读,仅供参考.大家可以根据自身情况来指定合理的

Java工程师学习指南(中级篇)

Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线. 所以,今天我们重新开一个新的专题,分别按照四个部分讲述Java的学习路线,笔者也打算趁此机会,回忆一下自己的Java学习历程.今天我们要讲的是第三部分,Java工程师学习指南(中级篇).

Java工程师学习指南(完结篇)

Java工程师学习指南 完结篇 先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦. 因为笔者还只是一名在校生,所以写的内容主要还是针对Java初学者或者接触Java后端不久的朋友,不适用于已经工作多年的Java大佬们.所以本文中的方法不一定适合所有人,如有错误还请谅解. 本期的内容是系列文章的最后一部分内容了.这个系列可能还有很多东西没有说清楚,也有很多内容被忽略了.但是这些内容也确实是笔者结合自己经验

【慕课网】php工程师学习计划之我的学习笔记——01 入门必学web基础 htmlcss基础课程 篇

为了进一步学习PHP,本周我选定了慕课网的PHP工程师学习计划, 从今天2015-07-06 10:24:47开始从头学习:计划本周尽快学习完成本课程,谨此作为笔记. 有个好的学习计划和思路非常非常重要,非常感谢慕课网提供本套学习计划,希望更多地学习平台能提供像这样全面一条龙学习思路清晰地教程. 计划图:链接 我的学习状况:2015-07-06 10:29:46 开始随记: php工程师学习计划笔记——01 入门必学web基础 htmlcss基础课程 篇 入门篇: text-align:cent