JDBC笔记

1. JDBC链接数据库
2. JDBC是什么?
3. JDBC的快速入门
4. 对于JDBC的接口和类的解释

2. 目标

1. JDBC的相关概念
2. JDBC操作数据库的方式
3. JDBC的事务管理-->非常重要

3. 笔记

1. JDBC是什么?-->Java DataBase Connectivity Java数据库连接,Java操作数据库
	1. JDBC的本质:其实就是sun公司定义的操作所有关系型数据库的规则,即接口;各个数据库厂商去实现这套接口,提供给开发人员数据库驱动jar包;我们可以通过这套接口(JDBC)变成,真正的执行代码是驱动jar包中的实现类;
2. JDBC快速入门:
	1. idea创建lib目录
	2. 将数据库驱动jar包复制到idea的lib中
		1. 右键选中lib目录或选中驱动jar包-->Add as Library
	3. 注册驱动
        Class.forName("com.mysql.jdbc.Driver");//参数是当前导入的驱动jar包的类路径
	4. 获取数据库连接对象Connection
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");//3个参数:1.连接的数据库是那个;2.数据库账号;3.数据库密码
	5. 定义sql
        String sql = "select * from test";
	6. 执行sql,并获取返回结果
        Statement statement= connection.createStatement();
        ResultSet resultSet = statement.executeQuery(sql);
	7. 处理结果
        while(resultSet.next()){
            System.out.println(resultSet.getString("id")+" - "+resultSet.getString("name"));
        }
	8. 释放资源
        resultSet.close();//释放资源
        statement.close();//释放资源
        connection.close();//释放资源
3. JDBC类的解释
	1. DriverManager.registerDriver(new Driver());驱动管理--》注册
	2. DriverManager:驱动管理对象
		功能
 - [ ] List item

			1. 注册驱动:告诉程序该使用哪一个数据库驱动jar包
			public static synchronized void registerDriver(java.sql.Driver driver)
                注册与给定的驱动程序
                写代码时使用的Class.forName("com.mysql.jdbc.Driver");
			   驱动中所作的操作就是注册MySQL的相关动作
                    static {
                        try {
                            DriverManager.registerDriver(new Driver());
                        } catch (SQLException var1) {
                            throw new RuntimeException("Can't register driver!");
                        }
                    }
	3. 获取数据库连接:
		方法:public static Connection getConnection(String url, String user, String password)
            参数:
				1. url:所代表的指定连接的数据库路径
                    	语法:jdbc:mysql://ip地址(连接地址、域名):端口号(默认3306)/连接的数据库名称
					   如果连接的是本地数据库可以省略连接地址以及端口号(默认的情况下3306)
                           	例如:jdbc:mysql:///数据库名称
				2. user:数据库的用户名
				3. password:数据库的密码
	4. Connection 数据库连接对象
		1. 功能
			1. 获取执行sql的对象
				1. Statement createStatement();
				2. PreparedStatement prepareStatement(String sql);
			2. 管理事务
				1. 开启事务:void setAutoCommit(boolean autoCommit)//默认是true,设置为false则代表开启事务
				2. 提交事务:void commit()//提交事务
				3. 回滚事务:void rollback()//将操作回滚
	5. Statement:用于获取执行sql的对象
		1. 执行sql
			1. boolean execute(String sql)//执行任意sql--》了解
			2. int executeUpdate(String sql)//执行DML(增删改)语句以及DDL的语句(创建删除修改)
				返回值int:
					影响行数,可以通过这个影响行数来判断执行是否成功,返回值>0则代表执行成功,反之则是失败
			3. ResultSet executeQuery(String sql)//执行DQL(查询)语句
				返回值ResultSet结果集对象:我们查询出来的数据都在里面
package com.xyd;

import java.sql.*;

public class Main {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
	// write your code here
        System.out.println("打印测试");
    //  1. idea创建lib目录
    //	2. 将数据库驱动jar包复制到idea的lib中
    //		1. 右键选中lib目录或选中驱动jar包-->Add as Library

    //	3. 注册驱动
        //Class.forName("com.mysql.jdbc.Driver");//参数是当前导入的驱动jar包的类路径
    //	4. 获取数据库连接对象Connection
        Connection connection = DriverManager.getConnection("jdbc:mysql:///test","root","root");//3个参数:1.连接的数据库是那个;2.数据库账号;3.数据库密码
//        connection.setAutoCommit(false);
//        connection.commit();
//        connection.rollback();
    //	5. 定义sql
        String sql = "select * from test";
    //	6. 执行sql,并获取返回结果
        Statement statement= connection.createStatement();
//        PreparedStatement preparedStatement = connection.prepareStatement(sql);
//        preparedStatement.executeQuery();
        sql = "insert into test values(null,'xiaohei2')";
        int i = statement.executeUpdate(sql);//增删改所使用
        System.out.println(i);
//        ResultSet resultSet = statement.executeQuery(sql);
    //	7. 处理结果
//        while(resultSet.next()){
//            System.out.println(resultSet.getString("id")+" - "+resultSet.getString("name"));
//        }
    //	8. 释放资源
//        resultSet.close();//释放资源
        statement.close();//释放资源
        connection.close();//释放资源
    }
}

上一篇:DBUtil工具类


下一篇:【JAVA】连接数据库-mysql