JDBC编程六步

1.注册驱动(通知java程序我们即将要连接的是哪个品牌的数据库)

这个要放外面:

Driver driver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);

注意:com.mysql.jdbc.Driver();是mysql厂家写的,实现了java.sql.Driver接口

2.获取数据库连接(Java进程和mysql进程,两个进程之间的通道开启了)

String url = "jdbc:mysql://localhost:3306/itcatt(数据库名字)";
String user = "root";
String url = "jdbc:mysql://localhost:3306/itcatt(数据库名字)";
String user = "root";
String password = "root";
conn = DriverManager.getConnection(url,user,password);

[点击并拖拽以移动]
​
 

注意:connection 是接口,接下来引用对象都是用conn.xxx或者conn.yyy

什么是URL?解释:统一资源定位符,任何一个URL都包括:协议(提前规定好的数据传输格式)+IP地址(网络中定位某台计算机)+端口号port(定位计算机上的某个服务)+资源名(这个服务下的某个资源)

URL的详解释 jdbc:mysql :这是java程序和mysql通信的协议

localhost :这是本机的Ip地址,还可以写成:127.0.0.1

                       3360:mysql数据库的端口

itcatt:mysql数据库的名称


3.获取数据库操作对象

stmt = conn.createStatement();

注意:通过一个连接对象Connection是可以创建多个Statement对象的

4.执行SQL语句

(1)插入操作:

String insertsql = "insert into dept(deptno,dname,loc) values(50,'销售部','北京')";
int count = stmt.executeUpdate(insertsql);//Statement接口中executeUpdate方法执行语句,该方法返回值表示,影响了数据库中表的总记录条数
System.out.println(count);

注意:执行sql 语句的另一种方法executeQuery(是查询的用法)


(2)更新操作:

String updateSql = "update dept set dname = '人事部', loc = '天津市', where deptno = 50";
int count = stmt.executeUpdate(updateSql);
System.out.println(count);

(3)删除操作:

String deleteSql = "delete from dept where deptno = 50";
int counth = stmt.executeUpdate(deleteSql);
System.out.println(count);

5.处理查询结果集

6.释放资源:

例子:

package JDKdemon01;
import java.sql.*;
public class JDBCdemon02 {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {//注册驱动
            DriverManager.registerDriver(new com.mysql.jdbc.Driver());
            //获取连接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/yggl","root","root");
            //获取数据库操作对象
            stmt = conn.createStatement();
            //执行sql语句
            String sql = "select 姓名,学历 from employees where 性别 = 1";
            rs = stmt.executeQuery(sql);
            while (rs.next())//处理查询结果集遍历执行
            {
                String name = rs.getString("姓名");
                String study = rs.getString("学历");
                System.out.println(name+","+study);
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {//释放资源
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
    }
}

结果:

王五,大专 
伍容华,本科
王向荣,硕士
刘明,本科
朱俊,硕士
张石兵,硕士
林涛,大专
李玉敏,本科
叶凡,本科

注册驱动新方法(以上面例子举例):

public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    try {//直接Class一个
        Class.forName("com.mysql.jdbc.Driver");
        //可以把其他的代码都放这下面,不需要再获取异常
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
    try {//注册驱动
        //DriverManager.registerDriver(new com.mysql.jdbc.Driver());
        //获取连接(其他的都一样)

更多推荐

Java连接数据库(JDBC编程六步)