初识JDBC

1.数据库
数据库的本质就是通过I/O读写文件
2.Java DataBase connectivity
可以理解为以前的 Socket桥梁 流读写数据库
作用
1.负责产生链接
2.传送SQL指令
3.处理效应信息
4.处理事务
3.JDBC驱动类型
JDBC-ODBC 每一个客户机都需要安装很耗费空间 管理不方便
JDBC-Native 类似第一种,每一个客户机上安装,调用本地原生C、C++ 具体到某一个数据库,
想要改变,需要改变底层代实现码
纯JavaJDBC 一个纯粹的基于Socket通信不需要安装在用户机上,每一个数据库的厂商自身提供
4.先找到适合MySQL数据库的JDBCQ驱动包
下载驱动包去官网 www.mysql.com
5.一切准备好了,可以发了
通过java利用jbdc 桥梁操作Mysql数据库
JDBC六部曲
1.导包(将找到的这个jar文件导入到java工程里)
在我们的工程里面创建一个文件夹lib
键mysql-connector-java.jar复制当前工程的lib文件内
做一个设置
File–>Project Structure–>Libraries 点击中的+号 选择jar文件路劲

public static void main(String[] args){
        Connection connection =null ;
        PreparedStatement preparedStatement = null ;
        try {
            //1导包
            //2.加载驱动 Driver
            Class.forName("com.mysql.jdbc.Driver");//通过反射获取类 可能找不到类 捕捉异常
            // 用户连接不上数据是:
            //verifyServerCertificate=false&useSSL=true
            //?useUnicode=true&characterEncoding=UTF-8  设置字符集
            //1存数据时:数据库在存放项目数据的时候会先用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用GBK编码存放到数据库中
            //2获取数据在从数据库中取数据的时候,数据库会先将数据库中的数据按GBK格式解码成字节码,然后再将解码后的字节码重新按UTF-8格式编码数据,
            // 最后再将数据返回给客户端:
            //3.获取连接
            String url = "jdbc:mysql://localhost:3306/ccc?characterEncoding=UTF-8&verifyServerCertificate=false&useSSL=true" ;//jdbc:数据库类型://ip:端口号/数据名
            String user = "root" ; //数据用户名
            String password = "root" ; //密码
            connection = DriverManager.getConnection(url,user,password);
            //4.创建状态参数
            //将我们需要执行的sql语句传入 反转sql注入
            String sql = "UPDATE CITY SET CITYID = 1 WHERE CITYNAME='哈尔滨'" ;
           preparedStatement =  connection.prepareStatement(sql);
            //5.执行操作
           int result = preparedStatement.executeUpdate();//返回值是执行成功的语句的个数
            System.out.println("执行完毕"+result);

        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            //6.倒序关闭 close  这件事情必须做 所有放在finally里
            try {
                if (preparedStatement!=null){//在获取连接的时候可能会失败 会产生空指针异常
                    preparedStatement.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (connection!=null){//在创建状态参数的时候可能会失败 会产生空指针异常
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值