作为一个java开发用jdbc连接数据库可以说是基础中的基础尽管现在网上的教程已经很多很方便,但在这里我还是自己写一篇步骤,1.用来加深印象2.用来方便日后回顾:
首先要使用jdbc就要导相应的jar包,这里只做基本的连接导入mysql-connector-java-5.1.22-bin.jar即可:下面放代码
package com; import java.io.IOException; import java.io.InputStream; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.Properties; public class DbUtil { /** 配置文件 */ private static final String CONFIG_FILE = "databaseConfig.properties"; /** 驱动 */ private static final String DRIVER_CLASS = "driverClass"; /** 会见IP */ private static final String IP = "IP"; /** 数据库名称 */ private static final String DATABASE = "Database"; /** 端口号 */ private static final String PORT = "Port"; /** 用户名 */ private static final String USER = "DatabaseUser"; /** 密码 */ private static final String PASSWORD = "DatabasePassword"; /** 加载配置文件对象 */ public static final Properties config = loadConfig(); private static Properties loadConfig() { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); InputStream inputStream = classLoader.getResourceAsStream(CONFIG_FILE); Properties properties = new Properties(); try{ properties.load(inputStream); }catch(IOException e){ e.printStackTrace(); } return properties; } public static Connection getConnection(){ Connection connection = null; try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver"); //提供JDBC连接的URL StringBuilder url = new StringBuilder(); url.append("jdbc:mysql://").append(config.getProperty(IP)); url.append(":").append(config.getProperty(PORT)); url.append("/").append(config.getProperty(DATABASE)); url.append("?useUnicode=true&characterEncoding=utf-8"); System.out.println(url); //创建数据库的连接 connection = DriverManager.getConnection(url.toString(), config.getProperty(USER), config .getProperty(PASSWORD)); }catch(Exception e){ e.printStackTrace(); } return connection; } public static void close(ResultSet rs, PreparedStatement ps, Connection c) { close(rs); close(ps); close(c); } public static void close(ResultSet rs, PreparedStatement ps) { close(rs); close(ps); } public static void close(ResultSet rs) { try { if (rs != null) rs.close(); } catch (Exception e) { } } public static void close(Statement ps) { try { if (ps != null) ps.close(); } catch (Exception e) { } } public static void close(PreparedStatement ps) { try { if (ps != null) ps.close(); } catch (Exception e) { } } public static void close(CallableStatement cs) { try { if (cs != null) cs.close(); } catch (Exception e) { } } public static void close(Connection c) { try { if (c != null) c.close(); } catch (Exception e) { } } }
下面是配置文件databaseConfig.properties: #本地会见数据库配置 mysql driverClass=com.mysql.jdbc.Driver #数据库IP IP=localhost Port=3306 # 数据库名称 Database=test #用户名 DatabaseUser=root #密码 DatabasePassword=123456
下面是测试代码: package com; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class Test { public static void main(String[] args) { Connection conn = DbUtil.getConnection(); ResultSet rs = null; //创建一个PreparedStatement用于执行动态sql语句 PreparedStatement ps = null; String sql = "SELECT * FROM test WHERE name = ?"; try { ps = conn.prepareStatement(sql); ps.setString(1, "测试"); //执行SQL语句 ,并得到结果集 rs = ps.executeQuery(); while(rs.next()){ System.out.println("姓名:"+rs.getString("name")+",年龄:"+rs.getString("age")+",工作:"+rs.getString("job")); } } catch (SQLException e) { e.printStackTrace(); }finally{ try{ if (conn != null) { conn.close();// 关闭连接对象 } if (ps != null) { ps.close(); // 关闭声明 } if (rs != null) rs.close(); // 关闭记录集 }catch(Exception e){ e.printStackTrace(); } } } }
输出结果:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8姓名:测试,年龄:33,工作:程序员 以上就是一个简单的jdbc连接mysql数据库的过程。