JDBC:Java DataBase Connectivity
它不是单独为了连接mysql这个产品的。
它是Sun提供的一套操作数据库的标准规范。
Sun提供了Interface,各个数据库厂商开始提供Sun接口的实现。
Mysql就实现了sun定义的接口。
mysql-connector-java-5.0.8-bin.jar
JDBC规范(掌握四个核心对象):
DriverManager:用于注册数据库连接的驱动
Connection:表示与数据库的连接
Statement:表示操作数据库,执行sql语句的对象
ResultSet:表示操作数据库的结果集。
JDBC
1、注册驱动
2、连接数据库
3、创建statement(用于运行sql语句)
4、获取resultSet
5、遍历结果集
6、关闭资源
ResourceBundle读文件里的键值对
有一个dbconfig.properties文件,我们把
driverClass
url
User
Psw
1.数据库连接文件
在src目录下文件名为:dbconfig.properties文件
2.编写DBUtils工具类
public class DButils { private static String driverClass ; private static String url; private static String user; private static String psw; //静态代码块,加载数据库驱动 static{ ResourceBundle bundle = ResourceBundle.getBundle("dbconfig"); //driverClass = bundle.getString("driverClass"); driverClass = bundle.getString("driverClass"); url = bundle.getString("url"); user = bundle.getString("user"); psw = bundle.getString("psw"); try { Class.forName(driverClass); } catch (ClassNotFoundException e) { e.printStackTrace(); } } //获取连接 public static Connection getConnection(){ try { return DriverManager.getConnection(url,user,psw); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } //关流 public static void closeAll(ResultSet rs,Statement st,Connection conn) { if(rs!=null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if(st!=null) { try { st.close(); } catch (SQLException e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
3.编写测试类。
public class Test { public static void main(String[] args) throws SQLException, ClassNotFoundException { //Class.forName("com.cdu.dj.DButils"); //获取连接 Connection conn = DButils.getConnection(); //创建查询对象 Statement st = conn.createStatement(); //执行查询语句并使用结果集接受 ResultSet rs = st.executeQuery("select * from student"); //循环遍历 for(;rs.next();){ int sid =rs.getInt(1); String sname =rs.getString(2); int sage =rs.getInt(3); String ssex =rs.getString(4); System.out.println(sid+"--"+sname+"--"+sage+"--"+ssex); } //关流 DButils.closeAll(rs, st, conn); } }