java连接MySql数据库的BaseDAO

本文介绍了如何在Java项目中创建一个BaseDAO类来连接MySQL数据库,通过driver.properties文件存储参数,简化数据库连接配置。文章详细展示了driver.properties的内容以及BaseDAO类中获取属性和建立数据库连接的关键代码,提供了一种通用的数据库操作方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、首先我在根目录下创建了一个driver.properties文件用来保存一些参数,方便后期修改
内容如下:student是我的数据库的名字。大家可以发现连接什么数据库不重要,里面的方法都是一样的,只是driver.properties文件内容不同。
可以去这篇文章中查看,可以发现除了导入的jar包不一样,和这个配置文件不一样以外,其他的都是一样的。http://blog.youkuaiyun.com/qq_36748278/article/details/76861334

DRIVER = com.mysql.jdbc.Driver
URL = jdbc:mysql://127.0.0.1:3306/student?characterEncoding=UTF-8
USER = root
PASSWORD = root

2、创建数据库连接的BaseDAO文件
获取driver.properties文件中的各种属性的代码如下:

FileInputStream fis = null;
Properties properties = null;

try {
    fis = new FileInputStream("driver.properties");
    properties = new Properties();
    properties.load(fis);
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

String driver = properties.getProperty("DRIVER");
String url = properties.getProperty("URL");
String user = properties.getProperty("USER");
String password = properties.getProperty("PASSWORD");

连接Mysql和java程序的主要代码如下:

Connection con = null;
try {
    Class.forName(driver);
    con = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
    e.printStackTrace();
} catch (SQLException e) {
    e.printStackTrace();
}

整个BaseDAO文件代码如下:

public class BaseDAO {
    public Connection getConnection(){
        //1、得到配置文件中的属性
        FileInputStream fis = null;
        Properties properties = null;

        try {
            fis = new FileInputStream("driver.properties");
            properties = new Properties();
            properties.load(fis);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        String driver = properties.getProperty("DRIVER");
        String url = properties.getProperty("URL");
        String user = properties.getProperty("USER");
        String password = properties.getProperty("PASSWORD");


        Connection con = null;
        try {
            Class.forName(driver);
            con = DriverManager.getConnection(url, user, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return con;
    }

    //关闭连接的方法
    public void close(Connection con,Statement st,ResultSet rs){
        try {
            if(con != null){
                con.close();
            }
            if(st != null){
                st.close();
            }
            if(rs != null){
                rs.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    //进行连接的测试
    public static void main(String[] args) {
        Connection con = new BaseDAO().getConnection();
        try {
            System.out.println(con.isClosed());     //false,说明连接没有关闭,成功了
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

把这个BaseDAO放在你的项目中,需要的时候直接调用这个类中的方法即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值