文档章节

简单商品管理

koudai520
 koudai520
发布于 2017/08/06 23:25
字数 1303
阅读 4
收藏 0

   源码地址:https://github.com/koudaiDemon/DB_Test_Goods.git

                                                                                                                           ——JDBC

   前言:关于Java基础部分以及高级部分的学习已经接近尾声,而此时的我们已经开始了新的一轮学习,开始学习数据库,上次的小项目虽然已经可以将数据存储到文件中,但是这样的存储效率很低下,而且不利于数据的维护。当接触到了数据库了以后,我们知道,这才是存储数据的有效方式,刚开始接触数据库的时候也是以理论为主,从数据库的类型(我们主要学习关系型数据库),以及学习了数据库的构成(如DBMS,DBM等),我们开始的学习以mysql为主,但是以后的学习中,我们会开始学习Oracle,在mysql中,我们接触到了有关数据库的基本构成(数据),也知道了数据的存储方式(以表结构进行存储),以及关系(笛卡尔积的有限子集),尽管理论的学习很枯燥无味,但是随着不断的学习。我们知道,我们最后可以通过Java代码来操作数据库。

    任务:

    1.利用JXL进行excel表的读取

    2.利用自己编写的封装JDBC来对数据库进行操作(表的建立,数据的导入)

    3.利用分层思想DTO,DAO对项目进行更好的完善

    4.完成业务逻辑(查找指定类型的商品并对商品进行排序)

    5.完成业务逻辑(按照商品名和类别名进行模糊查询)

    6.所有业务逻辑必须实现分页功能

    涉及知识点:

    1.数据库表的定义(包括参照完整性约束)

    2.JDBC的相关操作

    3.JXL包的使用

    4.数据库连接池的使用

    5.数据库查询语句的基本使用

    6.Java基础知识

    实现流程:

    1.首先根据项目要求对Excel表格进行处理,先创建实体类,并将实体类置于DTO包中。

    2.利用JXL对表格进行处理,处理完对结果进行测试,如果正确,则对结果中的第一行进行字符串的拼接,用于创建表,由于涉及到频繁字符串拼接,此处使用StringBuffer,然后利用获取到的数据库Connection,对sql语句进行预编译处理,然后执行(注意,此处需要先建立类别表,因为在商品表中,有外建约束)。

    3.利用2中获取到的数据,对表中进行数据的添加,在添加的同时需要注意数据类型的处理,所以我使用了自己创建的一个工具类,在日期类型的处理上,在日期的添加时,需要注意空指针异常。数据的批量添加,使用预编译中的批量处理方法。

    4.由于涉及到两个DAO的建立,并且两者具有相同之处,所以创建通用接口,便于管理,在接口中,同时定义一个查询方法,queryRandom(String sql,Object… params),这样可以使业务逻辑处理更加方便,业务逻辑层不方便与数据库直接进行打交道,所以此方法可以使处理时间更加方便(其实以后可以有更好用的框架,但是基础还是需要了解的)。

    5.由于在DAO层就已经将sql语句进行了处理和工具包中查询的封装,所有在业务逻辑中,不需要特别复杂的逻辑处理(在开始的时候,我并没有对任意查询进行处理,所以我是将所有的数据放在了业务逻辑层进行了处理,我发现mysql中排序算法与Java集合工具中的排序算法不一样)

    6.工具类的封装已经放在项目代码中(运用了DBCP链接池)

    心得体会:在这次的小项目练习中,知道了封装的好处,也知道了分层的思想,当数据库的工具类被封装使用的时候,感受到了开发效率的极具提升,所以让我明白了在初学的阶段其实我们也可以有产出,比如自己创建一些工具类,如字符串转各种数据类型的工具,再比如现在的数据库连接的获取,以及通用更新和查询操作的封装,一个好的框架其实也是结合了各种各样小的知识点,在最近的学习中,频繁的接触反射概念,也知道这是一个极其重要的概念,相信在以后的学习中可以将这个知识点理解,没有什么事情是可以一蹴而就的,学习是一个循序渐进的过程,也是一个不断攀登高峰的过程,爬山的路上,有上山就一定会有下山,愿反射这一座大山自己可以跨过去。长风破浪会有时,直挂云帆济沧海!

© 著作权归作者所有

koudai520
粉丝 0
博文 5
码字总数 6124
作品 0
武汉
私信 提问
shopilex 1.78 功能简介

Shopilex开源网店系统是基于MySQL+PHP和GPL开源协议的网店系统,是目前中文领域为数不多的真正意义上的开源网店。使用Shopilex不需要商业授权,代码完全开放,用户可以根据自己的需求进行二次...

Alex_Lin
2011/12/05
896
6
正在做一个ERP+OA+CRM的系统 肯定会开源 请给点意见

正在做一个ERP+OA+CRM的系统 目前是先公司用到,以后开源,分给大家使用。 目前市面上的开源产品,要么太大要么太小,我经过几个月的调研也没有找到适合中文用户的好的企业管理软件。 1、目标...

古欣
2010/12/10
3.7K
32
DBShop V0.9.2 20160729 版本发布

DBShop V0.9.2 20160729 版本发布。 DBShop 电子商务网店系统,采用业界知名框架 ZendFramework 2 开发而成。 功能简介:统一的系统设置、简单的商品管理、灵活的商品标签、强大的商品属性、...

静静的风
2016/07/29
2.6K
8
程序员了解了哪些业务才算是懂业务呢?

程序员分类有哪些? 程序员一般分两种:搞中间件或者基础架构的,搞业务架构开发业务系统的。 搞中间件基础架构的 这种程序员一般被认为是技术更好一些,会深入研究一些基础技术,技术深度更...

春哥大魔王的博客
07/04
62
0
商城系统 DBShop V1.1 RC 20170702 发布

DBShop 电子商务网店系统,采用PHP官方框架 ZendFramework 2 开发而成。在网上建立自己的店铺、自己的销售网站的不二之选。强大的后台管理及简单的操作流程,让您一见倾心。严谨的功能结合、...

静静的风
2017/07/03
636
0

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
16分钟前
2
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部