开始作课程设计的时候根本无从下手,后来查阅资料后发现是先从数据库开始的。整个课程设计须要用到的以下图,今天总结一下数据库接口!
数据库接口须要用到两个类,一个是DAO.java,另外一个是properties.java。javascript
由于使用 JDBC 操做数据库,基本流程是相同的,只是操做的内容不一样,所以,可将数据库的链接和有关操做封装成类,后续操做数据库时只要调用相关类的方法便可。php
(1)先建立一个以properties 为后缀的文件,好比my.properties ,双击打开,而后在文件写入数据库的相关信息,以下:
(2)将数据库驱动程序、 UTL、用户名、密码等写入到数据库配置文件(即properties 文件, 它是一种特殊类型的 Map 结构,关键字与值都是字符串, 中间用“=”链接,既能够用文件保存,也能够从文件中装入)中;html
(3)properties.java这个文件中的properties类专门读取配置文件中参数:用 static块加载配置文件,且提供 static 方法 String getValue(String key);java
package hr.dao; import java.io.FileInputStream; import java.util.Properties; public class properties { private static Properties p = null; static { try { p = new Properties(); p.load(new FileInputStream("mysql.properties"));// 加载配置文件 } catch (Exception e) { e.printStackTrace(); } } // 获取键对应的值 public static String getValue(String key) { return p.get(key).toString(); } }
建立一个properties类的对象,调用load()方法加载配置文件,经过一个文件输入字节流来获取文件内容,getValue()方法就是方便DAO类获取文件中的内容,以达到封装的效果。mysql
package hr.dao; import java.sql.Connection; import java.sql.DriverManager; import javax.swing.JOptionPane; /** * 数据库接口类 * * @author DELL * */ public class DAO { private static DAO dao = new DAO(); // 声明DAO类的静态实例 /** * 利用静态模块加载数据库驱动 */ static { try { String driver=properties.getValue("driver"); Class.forName(driver); // 加载数据库驱动 } catch (ClassNotFoundException e) { JOptionPane.showMessageDialog(null, "数据库驱动加载失败,请将驱动包配置到构建路径中。\n" + e.getMessage()); e.printStackTrace(); } } /** * 得到数据库链接的方法 * * @return Connection */ public static Connection getConnection() {//必定要声明为静态的方法 try { Connection conn = null; // 定义数据库链接 String url = properties.getValue("url"); // 数据库admin_class String username = properties.getValue("user"); // 数据库的用户名 String password = properties.getValue("pwd"); // 数据库密码 conn = DriverManager.getConnection(url, username, password); // 创建链接 return conn; // 返回链接 } catch (Exception e) { JOptionPane.showMessageDialog(null, "数据库链接失败。请检查数据库用户名和密码是否正确。" + e.getMessage()); return null; } } public static void main(String[] args) { System.out.println(getConnection());//后台打印能够检测是否链接成功 } }
一样DAO类把链接数据库类的操做也封装了起来,若是程序中哪里须要链接数据库直接调用DAO的getgetConnection()方法便可。须要注意:getConnection()方法已经声明为静态(全局)方法,若是不声明为static,则其余类没法调用这个方法!sql
附上一个课程设计的视频!哈哈,也能够关注我公众号【物联网技术猿】数据库
[video(video-geynaYB2-1576209828594)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=79055224)(image-https://ss.csdn.net/p?http://i2.hdslb.com/bfs/archive/bf4a42da69f85e7830417705b1083d4a7c0a71dd.jpg)(title-java se 课程设计)]ide