jdbc(insert,update,,create,以及各个类详解)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: jdbc(insert,update,,create,以及各个类详解)

前一段时间学完了mysql现在在学jdbc感觉还可以,但是JAVA基础部分(异常)还是差点意思,明天学习线性代数,异常和jdbc剩余部分。

1.DriverManager:驱动管理对象

       注册驱动

        获取数据库连接

        static Connection getConnection(String url,String user,String password)

                           url:指定连接的路径

                           写法:jdbc:mysql://ip地址:端口号/数据库名称

                           细节(若是本地连接):jdbc:mysql:///数据库名称


2.Connection:数据库连接对象

               1.获取执行sql的对象

                   Statement createStatement()

                   PreparedStatement prepareStatement(String sql)

               2.管理事务

                   开启事务:void setAutoCommit(boolean autoCommit)调用方法设置参数为false,开启事务

                   提交事务:void commit()

                   回滚事务:rollback()

3.Statement:执行sql的对象

               1.boolean execute(String sql):可以执行任意sql

               2.int executeUpdate(String sql)执行DML语句(insert,update,delete)ddl(create drop alter)

                   返回值:影响的行数    返回值大于0==success

               3.ResultSet executeQuery(String sql)执行ddl语句,查询语句

4.ResultSet:结果集对象

5.PrepareStatement:执行sql对象

添加对象示例代码

//添加张。。对象
public class jdbcdemo02 {
    public static void main(String[] args) {
        Statement stmt = null;
        Connection conn = null;
       try{
           Class.forName("com.mysql.cj.jdbc.Driver");//注册驱动    mysql5之后再services中写过注册
        //定义sql
        String sql = "insert into account values (null,'张润琪',10000)";
        //获取Connection对象
         conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zzt?serverTimezone=GMT&useSSL=false","root","root");
        //获取执行sql 的对象statement
         stmt = conn.createStatement();
        //执行sql
        int count =  stmt.executeUpdate(sql);// count影响行数
        System.out.println(count);
        if(count>0)
            System.out.println("添加成功");
        else
            System.out.println("添加失败");
       }
       catch(ClassNotFoundException e){
            e.printStackTrace();
       }catch(SQLException e){
           e.printStackTrace();
       }
        finally{
                if(stmt!=null)
                    try{
                        stmt.close();
                    }catch(SQLException e){
                        e.printStackTrace();
                    }
           if(conn!=null)
               try{
                   conn.close();
               }catch(SQLException e){
                   e.printStackTrace();
               }
       }
    }
}

v 更新示例部分代码

public class jdbcdemo03 {
    public static void main(String[] args)  {
        Statement  stmt = null;
        Connection conn = null;
            //注册驱动
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            //获取连接对象
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zzt?serverTimezone=GMT&useSSL=false","root","root");
           //定义sql
            String sql = "update account set name = '张润琦' where id  =5 ";
            //获取执行sql对象
             stmt =  conn.createStatement();
            //执行sql
             int count  = stmt.executeUpdate(sql);//获取影响行数
            if(count>0){
                System.out.println("修改成功");
            }
            else{
                System.out.println("修改成功");
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
        finally {
            if(stmt!=null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(conn!=null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
SQL Java 数据库连接
联表查询 && 索引 && 事务 && JDBC使用 &&CPU工作原理 && 线程概念 && Thread类的用法
联表查询 && 索引 && 事务 && JDBC使用 &&CPU工作原理 && 线程概念 && Thread类的用法
135 0
|
Java 数据库连接 数据库
JDBC学习(三):封装工具类JDBCUtils类
为了以后方便进行数据库连接、数据库关闭、还有后面的连接池的操作等功能,现在将功能封装到JDBCUtils类当中,作为自己的一个工具箱。
342 0
|
9月前
|
SQL Java 关系型数据库
JDBC快速入门(二) JDBC各个类详解以及代码规范
JDBC快速入门(二) JDBC各个类详解以及代码规范
|
SQL Java 数据库连接
JDBC学习(十一):使用QueryRunner实现update操作
JDBC学习(十一):使用QueryRunner实现update操作
151 0
|
Java 数据库连接 数据库
使用JDBC(Dbutils工具包)来从数据库拿取map类型数据来动态生成insert语句
前言: 大家在使用JDBC来连接数据库时,我们通过Dbutils工具来拿取数据库中的数据,可以使用new BeanListHandler<>(所映射的实体类.class),这样得到的数据,不知道表的字段名字,我们在往数据库里添加时,需要自己来挨个写字段,非常麻烦! 于是,小编想到通过MapListHandler(),结果集为一个List<Map<String, Object>>,map中key为数据库字段名字,value为对应的值,这样就可以实现insert语句动态拼接了!!
168 3
|
SQL 存储 Java
【JDBC实战】水果库存系统 [功能实现](接口实现类FruitDAOImpl的功能实现)万字长文
了解水果库存系统 [功能实现](接口实现类FruitDAOImpl的功能实现)。
140 0
【JDBC实战】水果库存系统 [功能实现](接口实现类FruitDAOImpl的功能实现)万字长文
|
Java 数据库连接
JDBC编程工具类 Dbconnection
JDBC编程工具类 Dbconnection
116 0
|
SQL Java 关系型数据库
Java jdbc连接数据库 INSERT插入
Java jdbc连接数据库 INSERT插入 package com.edu; import java.
3000 0
|
SQL Java 关系型数据库
jdbc操作根据bean类自动组装sql,天啦,我感觉我实现了hibernate
场景:需要将从ODPS数仓中计算得到的大额可疑交易信息导入到业务系统的mysql中供业务系统审核。最简单的方式是用阿里云的组件自动进行数据同步了。但是本系统是开放是为了产品化,要保证不同环境的可移植性,同时同步的表也就6个表,那么就利用现有的基于jdbc的规则引擎工程来自己实现数据的同步。
1244 0