jdbc程序

第一个JDBC程序

1.创建sql的语句:
CREATE DATABASE `jdbcStudy` CHARACTER SET utf8 COLLATE utf8_general_ci;

USE `jdbcStudy`;

CREATE TABLE `users`(
 `id` INT PRIMARY KEY,
 `NAME` VARCHAR(40),
 `PASSWORD` VARCHAR(40),
 `email` VARCHAR(60),
 birthday DATE
);

 INSERT INTO `users`(`id`,`NAME`,`PASSWORD`,`email`,`birthday`)
VALUES(1,'zhangsan','123456','zs@sina.com','1980-12-04'),
(2,'lisi','123456','lisi@sina.com','1981-12-04'),
(3,'wangwu','123456','wangwu@sina.com','1979-12-04')
2.导入mysql驱动

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L605r4RS-1606392169934)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201124165606236.png)]

3.代码实现
import java.sql.*;

public class jdbcFirstDemo {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // 1.加载驱动
        Class.forName("com.mysql.jdbc.Driver"); //固定的写法
        // 2.连接数据库DriverManager sql信息
        //useUnicode=true&characterEncoding=utf8&&useSSL=true 中文字符集,编码表,安全
        String url ="jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&&useSSL=true";
        String username="root";
        String pwd="123456";
        Connection connection = DriverManager.getConnection(url, username, pwd);
        //3.获取执行sql的对象 Statement
        Statement statement = connection.createStatement();
            String sql ="SELECT * FROM users";
            //statement.executeQuery(sql) 查询使用这个方法
            // statement.executeUpdate() 修改更新删除都使用这个方法
        ResultSet resultSet = statement.executeQuery(sql);
        //4.获得返回的结果集,只有在查询的时候才会有返回的结果集
        while (resultSet.next()){
                System.out.println("id="+resultSet.getObject("id"));
                System.out.println("name="+resultSet.getObject("NAME"));
                System.out.println("pwd="+resultSet.getObject("PASSWORD"));
                System.out.println("email="+resultSet.getObject("email"));
                System.out.println("birthday="+resultSet.getObject("birthday"));
            System.out.println("============================");
        }
        //5.释放连接
        resultSet.close();
        statement.close();
        connection.close();
    }
}

步骤总结:
1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
2.连接数据库DriverManager sql信息
//jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&&useSSL=true
// url 书写  jdbc:mysql://localhost:3306/jdbcstudy
// jdbc:mysql://主机名:端口号/数据库?useUnicode=true&characterEncoding=utf8&&useSSL=true
String url ="";
String username="";
String pwd ="";
Connection connection = DriverManager.getConnection(url, username, pwd);
3.获得执行sql的对象 Statement
Statement statement = connection.createStatement();
4.获得返回的结果集
String sql="";
statement.executeQuery(sql)
//如果是查询语言可以获得返回集
 ResultSet resultSet = statement.executeQuery(sql);
5.释放连接
resultSet.close();
statement.close();
connection.close();
JDBC中的对象:
1.DriverManager
  // 1.加载驱动
  //DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 不建议使用这种方法加载驱动
  Class.forName("com.mysql.jdbc.Driver"); //固定的写法
//获得数据库对象
 Connection connection = DriverManager.getConnection(url, username, pwd);
2.URL
//语法总结:协议://主机地址:端口号/数据库名?参数1&参数2&参数3
String url ="jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&&useSSL=true";
//mysql的端口号是3306


//oracle 端口号 1521
//jdbc:oracle:thin@localhost:1521:sid

3.connection
//获得数据库对象
 Connection connection = DriverManager.getConnection(url, username, pwd);
//connection 代表数据库
//数据库设置自动提交
//事务提交
//事务回滚
 connection.setAutoCommit();
 connection.commit();
 connection.rollback();       
4.statement

执行sql的对象 prepareStatement 执行sql语句的对象

//编写sql
String sql ="SELECT * FROM users";
//用statement执行sql语句
 statement.executeQuery(sql);//执行查询的sql语句
 statement.executeUpdate(sql);//执行修改 ,更新,删除 的sql语句
 statement.execute(sql);//执行任何的sql语句
5.resultSet

查询的结果集:封装了所有的查询结果

获得指定类型的结果集:

 //在不知道列类型的时候使用object
  resultSet.getObject();
 //在知道列的类型时候就使用指定的类型
  resultSet.getString();
  resultSet.getInt();
  resultSet.getDouble();
  resultSet.getFloat();
  ....

遍历指针

  resultSet.beforeFirst();//移动到最前面
  resultSet.afterLast();//移动到最后面
  resultSet.previous();//移动到前一行
  resultSet.absolute(row);//移动到指定的行
  resultSet.next();//移动到下一个数据
6.释放资源

必须关掉,耗费资源

 //5.释放连接
  resultSet.close();
  statement.close();
  connection.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值