A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© zhoufan0628 中级黑马   /  2017-12-9 18:33  /  1205 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

周帆
今天实现了管家婆项目的大部分功能,了解到分层分包的开发思想,并着重练习了查询相关的语句 下面贴上代码并说点自己的总结
启动类
public class MainApp {
/*    3.在app包中,创建类MainApp.java,编写main主方法,用来完成本项目的启动
    4.在domain包中,创建类ZhangWu.java,它是用来封装账务信息的JavaBean。
    5.在dao包中,创建类ZhangWuDao.java,给ZhangWuDao类添加一个成员变量QueryRunner对象,因为我们使用dbutils来操作数据库。
    6.在service包中,创建类ZhangWuService.java,给ZhangWuService类添加一个类型为ZhangWuDao的成员变量,因为service依赖dao。
    7.在view包中,创建类MainView.java,给MainView类添加一个类型为ZhangWuService的成员变量,因为本项目中view依赖service。*/
    public static void main(String[] args) {
        new MainView().run();
    }

}
UI层 也就是用户面对的层
public class MainView {

    public void run() {
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("---------------管家婆家庭记账软件---------------");
            System.out.println("1.添加账务 2.编辑账务 3.删除账务 4.查询账务 5.退出系统");
            System.out.println("请输入要操作的功能序号[1-5]:");
            int change = sc.nextInt();
            switch (change) {
            case 1:
                //添加账务
                addZhangWu();
                br
代码有点多 就不全部粘贴出来了
连接层 起承上启下的作用 用于连接 UI层和业务层  将从UI得到的数据经过整理传送给业务层 将业务层返回的结果整理后返回给UI层
public class ControllerMain {

    public List<ZhangWu> selectAll() {
        //连接层继续把查询信息传递给业务层
        return new ZhangWuService().selectAll();
        
    }

    public List<ZhangWu> select(String startDate, String endDate) {
         return new ZhangWuService().select(startDate,endDate);
        
    }
业务层 也叫业务逻辑层 用于处理从连接层得到的数据 并将运算后得到的结果传递给 最后的连接数据库层Dao
public class ZhangWuService {

    public List<ZhangWu> selectAll() {
        //业务层继续传递给连接数据库的层
        return new ZhangWuDao().selectAll();
        
    }

    public List<ZhangWu> select(String startDate, String endDate) {
        return new ZhangWuDao().select(startDate,endDate);
        
    }
连接数据库层 我是这么叫的 这层主要是把从前面几层进过整理运算后得到的数据 经过sql语句的解析运行后在 通过不同的方式返还给上一层 以此类推
public class ZhangWuDao {
    DataSource datasource = JDBCUtils.getDataSource();
    QueryRunner qr = new QueryRunner(datasource);
    public List<ZhangWu> selectAll() {
        String sql = "SELECT * FROM gjp_zhangwu";
        
        try {
            List<ZhangWu> list = qr.query(sql, new BeanListHandler<ZhangWu>(ZhangWu.class));
            
            return list;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            System.out.println(e);
            throw new RuntimeException("查询失败");
        }

大部分代码都是我粘贴的一部分 毕竟这个小项目的代码也不是很少 全粘上来难免有点凑字数的感觉 所以我就粘了一部分 下面说说我对与学习数据库的一些想法
数据库对于我们而言绝对是很重要的一部分知识点,以后我们面对真正的项目时,用到数据库的地方肯定也是很多的,所以在学习时,最好尽量多记点sql语句的书写格式以及注意事项,然后在设计思想这方面由于我们现在分析问题的能力还不能达到导师那种水准,所以平时做一些小项目的时候,尽量使用以后开发是使用的思想,对自己也是个锻炼

总结完毕
good good study ,day day up!!!!

3 个回复

倒序浏览
      温故而知新   加油哦
回复 使用道具 举报
good good study ,day day up!
回复 使用道具 举报
加油,骚年,坚持总结,查漏补缺
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马