发表于: 2017-10-09 23:53:15
1 761
今天完成的事情:
1 JDBC和DBCP的区别 &index在大量数据情况下的查询效率
创建两个单个column(id)的表student1和student2,其中1添加id为索引
为了方便,只插入一个数据
插入20000条用时:
增加到5W
再增加5W
增加50W
(1)很明显用了DBCP数据池反而比较慢。。。
(2)有了index,查询速率(数据量/总耗时)随着数据量的增大而增大。
2
总结任务一(初步)
项目主要需求:DB设计 实现连接数据库进行增删改查的功能
细分为了29个步骤,第17步骤开始有点吃力,连接mysql以及框架的学习花了很久时间。
mysql和sql语句是作为数据库这端的知识支柱,另一端则是由java的DAO设计模式构成,初学者可以通过JDBC连接技术来感受DAO是如何与数据库沟通的。一般由实体类(对应数据表的结构),接口类(定义数据库操作的抽象方法),接口实现类(实现具体的接口方法),然后就是包含main方法的服务类(实现全部功能)。
Spring和Mybatis则带来了两种特别的手段来加强数据库连接技术。Spring作为一个轻量级框架,提供了诸如Core、Context、AOP、DAO等多个可分割的模块供我们灵活使用。Mybatis提供了一个新的解决sql语句传输的手段,可以仅仅通过xml或者注解来配置和映射JavaBeans到数据库中去。maven制定了一个项目的标准化构建框架,并且自带了打包服务(虽然里面坑很多)。
云服务器环节推荐使用xshell连接服务器,xftp5或者winscp传输文件。部署msql,java等等使用yum安装会比较省事。maven打包的事(例如配置文件不在规定位置没有打包进去、找不到main方法、依赖包同名文件覆盖)参考 http://blog.csdn.net/defonds/article/details/43233131
例子:
使用Spring配置数据源:
<!-- 导入属性配置文件 -->
<context:property-placeholder location="classpath:jdbc.properties" />
<!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
</bean>
使用Mybatis映射Sql语句:
<sql id="selectAll" >
select * from app1
</sql>
<select id="getById" parameterType="Application" resultType="Application">
<include refid="selectAll"/>
where id=#{id};
</select>
<select id="getByName" parameterType="Application" resultType="Application">
<include refid="selectAll"/>
where name=#{name};
</select>
最后,Spring和Mybatis整合过程中仍留有很多细节需要深挖。事务处理这一块很薄弱,还要加强理解学习。本次任务学习仅仅是最为基础的DB设计练习,在日后仍要不断探索。
明天计划的事情:
1貌似要上传到github啊
2寻求提高插入速度的方法
遇到的问题:
1插入速度好像应该要提高来着
2总结的还不够好,巩固之后再做打算。
收获:
1 在Junit测试中 添加这个注解,可以使测试按顺序进行
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
2 总结过程中从知乎上找到了一个SSM框架的学习教程,再此记一笔 http://how2j.cn/k/ssm/ssm-tutorial/1137.html?tid=77
评论