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(代码片段