简单商品管理

   源码地址:点击打开链接
   ——JDBC

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

    任务:

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

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

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

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链接池)

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值