JDBC分层开发

Posted zwz-bk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC分层开发相关的知识,希望对你有一定的参考价值。

  第一次接触jdbc分层,我把今天学的总结一下。

  为什么要分层?
    a:难扩展
    b:功能全部放在一起
    c:完全没有面向对象的思想

  通过我自己正在做的仿QQ项目的理解,在还没学到分层的时候,我就感觉代码有些乱。不同功能的代码都放在一起,扩展性很低,遇到错误维护性也很低。通过分层,可以让不同功能的代码放到不同包里面,更容易查找与修改。接下来就是各个包的作业:

  1.DBHelper----最基础的包,创建提供jdbc连接数据库的类的包

package db;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DBHelper {
    private static Properties p=new Properties();
    static{
        try {
            p.load(new FileReader("jdbc.properties"));
            Class.forName(p.getProperty("driver"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
    public static Connection getConnection() {
        Connection conn=null;
        try {
            conn=DriverManager.getConnection(p.getProperty("url"), p.getProperty("name"), p.getProperty("pass"));
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
    public static void closeConnection(Connection conn) {
        try {
            if(!conn.isClosed()||conn!=null)
                conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

  2:dao包 对数据库的一些基本操作,我对它的理解就是对单表的增删改查,具体代码我就不贴了,有需要可以对我留言

  3:Service包 对数据库的业务操作,是以后工作中最重要的一环,主要是对多表同时操作之类的

  4:UI包 因为我还没学到web,之前学习swing,所以这个包我放的就是我的界面代码

  5:pojo包 这个包放的东西比较简单,具体就是在你的项目,与数据库创建表一 一对应的类

  6:util包 这个包放的就是帮助类,工具类,像我在这个项目放的就是对密码加密的加密类。

 

  以上就是我对我今天学习的总结,若有错误的地方望指正。




以上是关于JDBC分层开发的主要内容,如果未能解决你的问题,请参考以下文章

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

通过 JDBC 访问分层数据 [关闭]

CSS可视化工具-助力快速开发css片段

CSS可视化工具-助力快速开发css片段

如何在片段中填充列表视图?

使用 Spring JDBC Rowmapper 映射分层数据