为了访问不同的数据库,提供了一个统一的接口------只需要面向接口编程就可以
相关的类和接口的包java.sql和javax.sql
步骤:
- 注册驱动---加载Driver类 //需要先准备驱动mysql-connector-java-版本-bin.jar,一般会新建libs文件夹放到这里面,把该jar文件加入到项目中
- 创建Dirver对象 Dirver dirver = new Dirver();
- 获取链接---得到Connection
- String url = "jdbc:mysql://localhost:3306/数据库"
协议 主机 端口 数据库管理系统的具体哪个数据库- Properties properties = new Properties(); //可以将数据库账号、密码放到Properties对象中
- properties.setProperty("user", "root"); // 用户 key是规定好的:"user"
- properties.setProperty("password", "hsp"); //密码 key是规定好的:"password"
- Connection connect = driver.connect(url, properties); //获取连接
//运行类型com.alibaba.druid.pool.DruidPooledConnection- 执行增删改查---发送sql命令给MySQL
- String sql = "SQL语句";
- Statement statement = connect.createStatement(); //statement 用于执行静态SQL 语句并返回其生成的结果的对象 // Statement:接口
- int rows = statement.executeUpdate(sql); //执行sql语句 如果是dml 语句,返回的就是影响行数
- ResultSet resultSet = statement .executeQuery(sql); //执行sqlt语句返回一个结果集对象 结果集:由数据库查询语句生成
//ResultSet接口对象保存一个光标指向第一行之前:
1)next():移动光标到下一行,没有下一行时返回false
2)get类型(第几列) :得到光标所在行的指定列的数据
- 释放资源---关闭相关连接
- resultSet.close(); //若有ResultSet接口对象,用完要关闭
- statement.close();
- connect.close();
获取连接的5中方式:开发的适合用第5种方式
- new Dirver().connect(url字符串,特定数据的Properties对象 ); //创建驱动对象,通过驱动对象创建连接
- 缺点:直接new Dirver类,因为Dirver是第三方的,静态加载----灵活性不强,依赖强
- 利用反射:(Dirver)Class.forName(Dirver).newInstance.connect(url字符串,特定数据的Properties对象 ) //利用反射创建驱动对象对象,通过驱动对象创建连接
- 修改了1的缺点:反射是动态加载---更灵活了,依赖性减少了
- (Dirver)Class.forName(Dirver).newInstance //反射创建Dirver对象
DirverManager.registerDirver(Dirver对象) //DirverManager类(管理jdbc驱动程序的)的registerDirver静态方法(注册给定的驱动程序),替代Dirver对象统一管理 //注册驱动
DirverManager.getConnection(url字符串,用户名,密码) //利用DirverManager类的getConnection静态方法获取连接- Class.forName(Dirver) //使用反射加载Dirver类,自动完成注册驱动:在加载Dirver时,这个类有一段静态代码,该静态代码会默认完成注册驱动
DirverManager.getConn