发表于: 2017-10-12 22:29:22
1 722
今天做的事情:
1:解决之前很久的JdbcTemplate,可以正常测试成功。 2:部署项目在服务器,配置maven,并且可以在执行main方法跑通流程。
<1>
这是大致目录,因为想跟着教程走,所以没有分离interface和实现类。
<2>
在StudentDao这个实现类里注入 DataSource 和 JdbcTemplate, 而在昨天的spring知识点说到这个,依赖注入,对象交给spring管理,不用实例化,必须加set方法,在Spring.xml中建立bean来管理DataSource,给他ref进行引用过来。
重要的点就是这个,之前没有成功的原因就是这个没有配置好,其实现在也只是一点了解,太菜。
<3>Student实体类里有三个字段,ID,Name,Age 测试。
<4> 贴主要代码讲一下:
update(…):使用于增、删、改操作;
execute():执行一个独立的sql语句,包括ddl语句;
queryForInt :查询出一个整数值
queryForObject:查询一条数据
query: 查询出多条数据
添加name和age
查询出一条数据对象
查询出许多数据对象
根据id和age来删除一条数据
<5>
去maven官网下载maven
放到服务器上,解压 : tar -zxvf apache-maven-3.5.0-bin.tar.gz
配置环境变量: vim /etc/profile 添加以下进去
测试是否配置成功:mvn -version 或者 mvn -v
再将上面这个jdbcTemplate这个可以测试的项目打包,因为没有使用wen.xml,所以只能达成jar包来操作了。
在pom.xml里面添加插件去达成jar包,特别注意是<mainClass>这个标签,需要的是测试用的main
点击IDEA左侧的maven Project,在这里,有很多操作,这里用到的是clean和package,因为并不是一次操作成功,所以最好使用clean清理一下,防止一下不必要的错误。而package是用来打包的。在pom.xml里面,可以用<packageing>设置jar或者war
<6> : 将打成的jar包放到Tomcat的webapps下面,启动Tomcat,运行这个jar包,java -jar Demo1.jar
这个错误是在spring.xml里面连接数据库密码不对
这个错误是数据库不对,因为之前做的是用本地的mysql做的,没有改成服务器配置的mysql,所以数据库不对应。
<7> : 测试成功。
连接池的作用及意义与常用的几个连接池:
建立数据库连接是相当耗时和耗费资源的,而且一个数据库服务器能够同时建立的连接数也是有限的,在大型的Web应用中,可能同时会有成百上千个访问数据库的请求,如果Web应用程序为每一个客户请求分配一个数据库连接,将导致性能的急剧下降。为了能够重复利用数据库连接,提高对请求的响应时间和服务器的性能,可以采用连接池技术。连接池技术预先建立多个数据库连接对象,然后将连接对象保存到连接池中,当客户请求到来时,从池中取出一个连接对象为客户服务,当请求完成后,客户程序调用close()方法,将连接对象放回池中。
在普通的数据库访问程序中,客户程序得到的连接对象是物理连接,调用连接对象的close()方法将关闭连接,而采用连接池技术,客户程序得到的连接对象是连接池中物理连接的一个句柄,调用连接对象的close()方法,物理连接并没有关闭,数据源的实现只是删除了客户程序中的连接对象和池中的连接对象之间的联系。
著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配﹑释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量﹑使用情况,为系统开发﹑测试及性能调整提供依据。
1: C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。
2: DBCP (Database Connection Pool)是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。目前 DBCP 有两个版本分别是 1.3 和 1.4。1.3 版本对应的是 JDK 1.4-1.5 和 JDBC 3,而1.4 版本对应 JDK 1.6 和 JDBC 4。因此在选择版本的时候要看看你用的是什么 JDK 版本了,功能上倒是没有什么区别。
3:java.sql.DriverManager类
4:javas.sql.DataSource类
而我用的就是第3种连接池,而最常用的是第一种,Spring框架,默认支持C3P0连接池技术。回头使用这个连接池。
遇到的问题:
昨天和今天上午一直在纠结问题,我一直觉得IDEA没有配置好,所以一直搞的不舒服。在敲jdbcTemplate导入jar引用时,出不来,是这里没有勾选,这些都是IDEA配置的小问题,因为刚开始用所以存在一些问题,Tomcat也是感觉没有配置好。
对于官网任务有的理解不是很清楚,在师兄的解答下,才知道这个任务到底是要求做什么。
收获:
今天确实学到很多,对于spring更加了解,配置一些东西也很有经验了,更加有耐心去面对接下来的任务。也感谢师兄对我的帮助,有时候遇
到问题,容易转牛角尖,在点点的帮助下,可以很快的去学习新知识。
评论