实例介绍
Java SE学习完成后,自己练手项目九 这个项目的特点是三层结构! * 学习了使用JDBC进行数据库操作,使用Java的反射技术封装数据,使用单态模式去获得数据库连接, 图片的压缩处理等知识点<br> * 在界面中主要使用JTable的处理,表现层、业务层与数据访问层的分层结构, 大大减低了各层之间的代码耦合。<br> * 在表现层中简单的使用了模板方法这种设计模式,将各个界面中的共同点提取到父类进行处理。<br> * 如果需要写更良好的代码,可以对本章中的代码进行重构,并可以应用对应的设计模式。 * * 分层结构<br> * 我们可以将系统分为三层:表现层、业务层、数据访
【实例截图】
【核心代码】
fbbff277-6ad7-4c51-891f-ff89e9e7ea53
└── book
├── bin
│ ├── cfg
│ │ └── jdbc.properties
│ └── com
│ └── nyohh
│ └── book
│ ├── commons
│ │ ├── BusinessException.class
│ │ ├── DataException.class
│ │ ├── DataUtil.class
│ │ ├── DateUtil.class
│ │ ├── ImageUtil.class
│ │ └── UploadException.class
│ ├── dao
│ │ ├── BookDao.class
│ │ ├── BookInRecordDao.class
│ │ ├── BookSaleRecordDao.class
│ │ ├── ConcernDao.class
│ │ ├── impl
│ │ │ ├── BookDaoImpl.class
│ │ │ ├── BookInRecordDaoImpl.class
│ │ │ ├── BookSaleRecordDaoImpl.class
│ │ │ ├── CommonDaoImpl.class
│ │ │ ├── ConcernDaoImpl.class
│ │ │ ├── InRecordDaoImpl.class
│ │ │ ├── SaleRecordDaoImpl.class
│ │ │ ├── TypeDaoImpl.class
│ │ │ └── UserDaoImpl.class
│ │ ├── InRecordDao.class
│ │ ├── SaleRecordDao.class
│ │ ├── TypeDao.class
│ │ └── UserDao.class
│ ├── jdbc
│ │ ├── JDBCException.class
│ │ ├── JDBCExecutor.class
│ │ ├── PropertiesUtil.class
│ │ └── QueryException.class
│ ├── Main.class
│ ├── service
│ │ ├── BookService.class
│ │ ├── ConcernService.class
│ │ ├── impl
│ │ │ ├── BookServiceImpl.class
│ │ │ ├── ConcernServiceImpl.class
│ │ │ ├── InRecordServiceImpl.class
│ │ │ ├── SaleRecordServiceImpl.class
│ │ │ ├── TypeServiceImpl.class
│ │ │ └── UserServiceImpl.class
│ │ ├── InRecordService.class
│ │ ├── SaleRecordService.class
│ │ ├── TypeService.class
│ │ └── UserService.class
│ ├── ui
│ │ ├── BookPanel$1.class
│ │ ├── BookPanel$2.class
│ │ ├── BookPanel$3.class
│ │ ├── BookPanel$4.class
│ │ ├── BookPanel$5.class
│ │ ├── BookPanel$6.class
│ │ ├── BookPanel$7.class
│ │ ├── BookPanel$8.class
│ │ ├── BookPanel.class
│ │ ├── BookPanelFrameTest.class
│ │ ├── CommonJTable.class
│ │ ├── CommonPanel.class
│ │ ├── ConcernPanel$1.class
│ │ ├── ConcernPanel$2.class
│ │ ├── ConcernPanel$3.class
│ │ ├── ConcernPanel$4.class
│ │ ├── ConcernPanel.class
│ │ ├── ConcernPanelFrameTest.class
│ │ ├── FileChooser.class
│ │ ├── ImageFrame.class
│ │ ├── LoginFrame$1.class
│ │ ├── LoginFrame.class
│ │ ├── MainFrame$1.class
│ │ ├── MainFrame$2.class
│ │ ├── MainFrame$3.class
│ │ ├── MainFrame$4.class
│ │ ├── MainFrame$5.class
│ │ ├── MainFrame.class
│ │ ├── RepertoryPanel$1.class
│ │ ├── RepertoryPanel$2.class
│ │ ├── RepertoryPanel$3.class
│ │ ├── RepertoryPanel$4.class
│ │ ├── RepertoryPanel$5.class
│ │ ├── RepertoryPanel$6.class
│ │ ├── RepertoryPanel$7.class
│ │ ├── RepertoryPanel$8.class
│ │ ├── RepertoryPanel.class
│ │ ├── SalePanel$1.class
│ │ ├── SalePanel$2.class
│ │ ├── SalePanel$3.class
│ │ ├── SalePanel$4.class
│ │ ├── SalePanel$5.class
│ │ ├── SalePanel$6.class
│ │ ├── SalePanel$7.class
│ │ ├── SalePanel$8.class
│ │ ├── SalePanel.class
│ │ ├── SalePanelFrameTest.class
│ │ ├── TypePanel$1.class
│ │ ├── TypePanel$2.class
│ │ ├── TypePanel$3.class
│ │ ├── TypePanel$4.class
│ │ ├── TypePanel.class
│ │ └── TypePanelFrameTest.class
│ └── vo
│ ├── Book.class
│ ├── BookInRecord.class
│ ├── BookSaleRecord.class
│ ├── Concern.class
│ ├── InRecord.class
│ ├── SaleRecord.class
│ ├── Type.class
│ ├── User.class
│ └── ValueObject.class
├── images
│ ├── book.gif
│ ├── concern.gif
│ ├── repertory.gif
│ ├── sale.gif
│ └── type.gif
├── mysql-connector-java-5.1.6-bin.jar
├── mysql.sql
├── sql.txt
├── src
│ ├── cfg
│ │ └── jdbc.properties
│ └── com
│ └── nyohh
│ └── book
│ ├── commons
│ │ ├── BusinessException.java
│ │ ├── DataException.java
│ │ ├── DataUtil.java
│ │ ├── DateUtil.java
│ │ ├── ImageUtil.java
│ │ └── UploadException.java
│ ├── dao
│ │ ├── BookDao.java
│ │ ├── BookInRecordDao.java
│ │ ├── BookSaleRecordDao.java
│ │ ├── ConcernDao.java
│ │ ├── impl
│ │ │ ├── BookDaoImpl.java
│ │ │ ├── BookInRecordDaoImpl.java
│ │ │ ├── BookSaleRecordDaoImpl.java
│ │ │ ├── CommonDaoImpl.java
│ │ │ ├── ConcernDaoImpl.java
│ │ │ ├── InRecordDaoImpl.java
│ │ │ ├── SaleRecordDaoImpl.java
│ │ │ ├── TypeDaoImpl.java
│ │ │ └── UserDaoImpl.java
│ │ ├── InRecordDao.java
│ │ ├── SaleRecordDao.java
│ │ ├── TypeDao.java
│ │ └── UserDao.java
│ ├── jdbc
│ │ ├── JDBCException.java
│ │ ├── JDBCExecutor.java
│ │ ├── PropertiesUtil.java
│ │ └── QueryException.java
│ ├── Main.java
│ ├── service
│ │ ├── BookService.java
│ │ ├── ConcernService.java
│ │ ├── impl
│ │ │ ├── BookServiceImpl.java
│ │ │ ├── ConcernServiceImpl.java
│ │ │ ├── InRecordServiceImpl.java
│ │ │ ├── SaleRecordServiceImpl.java
│ │ │ ├── TypeServiceImpl.java
│ │ │ └── UserServiceImpl.java
│ │ ├── InRecordService.java
│ │ ├── SaleRecordService.java
│ │ ├── TypeService.java
│ │ └── UserService.java
│ ├── ui
│ │ ├── BookPanel.java
│ │ ├── CommonJTable.java
│ │ ├── CommonPanel.java
│ │ ├── ConcernPanel.java
│ │ ├── ImageFrame.java
│ │ ├── LoginFrame.java
│ │ ├── MainFrame.java
│ │ ├── RepertoryPanel.java
│ │ ├── SalePanel.java
│ │ └── TypePanel.java
│ └── vo
│ ├── BookInRecord.java
│ ├── Book.java
│ ├── BookSaleRecord.java
│ ├── Concern.java
│ ├── InRecord.java
│ ├── SaleRecord.java
│ ├── Type.java
│ ├── User.java
│ └── ValueObject.java
├── test
│ └── com
│ └── nyohh
│ └── book
│ └── ui
│ ├── BookPanelFrameTest.java
│ ├── ConcernPanelFrameTest.java
│ ├── SalePanelFrameTest.java
│ └── TypePanelFrameTest.java
└── upload
├── 67936ef4-b2dd-42e6-af5a-0ace1db1f0a1-big.jpg
├── 67936ef4-b2dd-42e6-af5a-0ace1db1f0a1.jpg
├── a2daca58-f4d5-403a-9216-cc5b79e8269c-big.jpg
├── a2daca58-f4d5-403a-9216-cc5b79e8269c.jpg
├── daa93514-60de-43e2-9b82-ac8f1c29d175-big.jpg
└── daa93514-60de-43e2-9b82-ac8f1c29d175.jpg
34 directories, 181 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论