A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

yexy12345

初级黑马

  • 黑马币:21

  • 帖子:6

  • 精华:0

© yexy12345 初级黑马   /  2018-5-2 19:03  /  1182 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

感言帖
时光飞梭,时间从来不会有一丝一毫的想停歇一会儿,永远都是不紧不慢地遵循着自己的节奏不停地往前走。回想起来到杭州创智播客,黑马程序员已然过了一个半月了,想起当时的心情与现在的心情对比,已然有了些许不一样的改变。
来到了创智播客,黑马程序员让我学到了很多东西,也接触了很多关于电脑程序,软件的很多相关知识,知道了一个软件的底层是如何实现的。比如这几天学习的JDBC
JDBCJava DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
也知道了什么是数据库驱动
驱动:两个设备(应用)之间通信的桥梁。
那么为什么学习JDBC呢?
没有JDBC的时候,如果现在要开发一套系统,使用Java连接MySQL数据库,那么这时候Java程序员需要了解MySQL驱动API,如果使用Java连接Oracle数据库,那么这个时候Java程序员需要了解Oracle数据库驱动API
SUN公司提供一套统一的规范(接口)。然后各个数据库生产商提供这套接口的实现。这套接口规范就是JDBC的规范。
JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。
在编程的过程中,很多都是与我们现实生活中相关的,比如编程中的面向对象思想,面向接口编程,以及面向过程等等。
面向过程就是什么事都是一步一步自己做,就像生活中的厨师炒菜,要洗菜,切菜,放调料,翻炒,盛菜,上桌。
而面向对象思想就是复杂的事情简单化,从执行者变成指挥者,只要提供食材,把厨师炒好的菜盛上就可以了。
而面向接口编程J2EE中的API规范基本上都是接口,由各应用服务器来实现,比如:WebSphere按照这个接口实现自己的,WebLogic也按照这个接口实现自己的,作为开发者来说我们根本就不用去管谁是怎样实现的,只要按照J2EEAPI来写就可以了,根本用不着导入它们的实现包,实际上具体的是由它们自身完成了。
接口说白了,也就是定死了一个框,具体的是糊红纸还是糊黑纸我们都用不着去管的,我们只要知道它是个框,提供了哪些方法就够了。
        举个简单的JDBC的例子吧,比如有个BaseDao接口,现在有MySQLDao实现了一个(我们可以把具体的实现类配在配置文件中,再通过反射进行实例化),也就类似这样的:
BaseDao dao = (BaseDao)(Class.forName(Config.getDaoName()).newInstance());
        其中Config.getDaoName()可以获得配置文件中的配置,比如是:com.bao.dao.impl.MySQLDao之后,那些人开始要烧钱了,要改用Oracle了,这样我们只要按BaseDao的定义,再实现一个OracleDao就可以了,再将配置文件中的配置改为:com.bao.dao.impl.OralceDao就可以了,而在已经写好的代码中,我们可以一行不改的进行了数据库移植,这个就是面向对象设计原则中的-闭原则
在项目中的意义:
        接口在项目就是一个业务逻辑,面向接口编程就是先把客户的业务提取出来,作为接口。业务具体实现通过该接口的实现类来完成。当客户需求变化时,只需编写该业务逻辑的新的实现类,通过更改配置文件(例如Spring框架)中该接口的实现类就可以完成需求,不需要改写现有代码,减少对系统的影响。 采用基于接口编程的项目,业务逻辑清晰,代码易懂,方便扩展,可维护性强。即使更换一批人员,新来的人依然可以快速上手。对于公司来说,意义更大。
       
连接池的概述
        什么是连接池
                其实就是装有连接的容器,使用连接的时候,可以从池子中获得连接,使用完成之后归还给连接池
        连接池概念的规范
                1,用池子管理连接,这样可以重复使用连接
                2,不用自己创建连接,而是通过池子获取连接
                3,使用完连接之后,调用连接的close()方法,其实不是关闭连接,而是把连接归还给了池子
                4,连接池技术可以完成连接的再次利用
               
         占用了空间 ---效率提升  空间换时间        
       
04-Druid开源连接池的使用
        Druid配置方式可以使用属性文件配置的,文件名称没有规定但是属性文件中的key要一定的。
        // 从属性文件中获取:
        Properties properties = new Properties();
        properties.load(new FileInputStream("src/druid.properties"));
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
改写工具类
        改写原因
                连接池对象应该是一个应用只创建一次就可以的,不需要每次使用都创建一个新的连接池。       
        多年之后,再回想起现在所学的,可能早已忘记;多年之后,再回想起现在与同学们的生活,可能早已没有那么的刻骨铭心;多年之后,再回想起现在学习的精神,可能早已没有了现在斗志,但这都是我的生活,都是我生命的一部分。
               
       

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马