zoukankan      html  css  js  c++  java
  • JDBC:四步完成MySQL数据库的连接

    ->首先,将MySQL的jar包引入

    ->然后创建一个.properties的文件(例:connection.properties),在该文件中写入如下代码:

    jdbc.driver.class = com.mysql.jdbc.Driver
    jdbc.connection.url = jdbc:mysql://服务器地址:端口号/数据库名?useUnicode=true&characterEncoding=UTF-8
    jdbc.connection.username = MySQL数据库名称
    jdbc.connection.password = MySQL数据库密码

    注: ?useUnicode=true&characterEncoding=UTF-8 这段代码的作用是防止出现中文乱码

    ->然后创建一个解析connection.properties的类(ConfigManager.class),这里涉及到一个单例模式:

    省略相关包的导入...

    public class ConfigManager { private Properties properties = null; private static ConfigManager configManager = null; //构造方法 private ConfigManager() { InputStream inputstream = null; try { inputstream = ConfigManager.class.getClassLoader().getResourceAsStream("connection.properties"); properties = new Properties(); properties.load(inputstream); } catch (IOException e) { e.printStackTrace(); } finally { try { inputstream.close(); } catch (IOException e) { e.printStackTrace(); } } } //获得实例(单例) public static ConfigManager getInstance() { if (configManager == null) { configManager = new ConfigManager(); } return configManager; } //获得配置的值 public String getPropertyValue(String key) { return properties.getProperty(key); } }

    ->最后完成数据库连接,代码如下:

    省略相关包的导入...

    public class Base { public Connection connection = null; //jdbc数据库连接 public Connection jdbcGetConnection() { String driver = ConfigManager.getInstance().getPropertyValue("jdbc.driver.class"); String url = ConfigManager.getInstance().getPropertyValue("jdbc.connection.url"); String username = ConfigManager.getInstance().getPropertyValue("jdbc.connection.username"); String password = ConfigManager.getInstance().getPropertyValue("jdbc.connection.password"); try { Class.forName(driver); connection = DriverManager.getConnection(url, username, password); } catch (Exception e) { e.printStackTrace(); } return connection; }
    }

     

  • 相关阅读:
    关于might_sleep的一点说明---CONFIG_DEBUG_ATOMIC_SLEEP【转】
    让你的软件飞起来:RGB转为YUV【转】
    Linux终端彩色打印+终端进度条【转】
    Linux中实现一个简单的进度条【转】
    Linux内核官方文档atomic_ops.txt【摘自Linux 内核文档】
    Linux 内核链表的使用及深入分析【转】
    Linux2.6.32内核笔记(5)在应用程序中移植使用内核链表【转】
    spin_lock & mutex_lock的区别? 【转】
    Linux c括号作用域【原创笔记】
    linux C 中的volatile使用【转】
  • 原文地址:https://www.cnblogs.com/52xuanxuan/p/5981444.html
Copyright © 2011-2022 走看看