Mysql语法五:idea连接数据库和jdbc

目录

1.连接数据库

1.1.下载驱动包

1.2:连接数据库

2.jdbc编程

2.1:何为jdbc

2.2:jdbc的使用。

2.2.1:直接插入操作

2.2.2:利用?进行插入

2.2.3:修改操作

2.2.4:删除操作

2.2.5:查找操作 


前言:前一篇我们讲了什么是数据库的事务和索引。接下来,我们要了解一下如何在idea连接数据库,并进行jdbc的编程。


1.连接数据库

连接数据库需要先下载一个mysql提供java的驱动包mysql-connector-java

首先需要下载一个驱动包

1.1.下载驱动包

下载地址:

 https://mvnrepository.com/

1.先在热门类型找到jdbc驱动程序并点击 

2.点击连接器

 3.找到和自己mysql相适应的驱动包并点击,我的mysql是5.7。

之后大致在一个版本就可以,不用精确到莫个版本的第几代。

 4.下载


1.2:连接数据库

1.找到驱动包下载到哪里,并将这个驱动包复制。

2.在idea建立一个lib 包并将这个驱动包粘贴进去。

 3.建立依赖


 1.3:检验数据库是否连接成功

characterEncoding=utf8是设置你的字符集是utf8.

useSSL=false:关闭保密功能。


2.jdbc编程

2.1:何为jdbc

jdbc就是Java数据库连接,是一种用于执行SQL语句的java  Api,是java中的数据库连接规范。

可以为多种关系数据库提供统一接口,jdbc为多种关系数据库提供了统一的访问方式,使程序的可移植性大大增加。

2.2:jdbc的使用。

jdbc的增加,修改,删除都是都是调用executeupdate()来执行的。

jdbc的查找是调用executeQuery()来执行的。并且查找返回的是一个结果集。

关闭资源的操作和打开资源的操纵顺组是相反的。

1.首先要和数据库建立连接。

2.你进行修改,查询和删除的表,首先要在数据库存在。

2.2.1:直接插入操作

 //从键盘中输入学号3 ,姓名:琪琪,数学 78,语文90 英语 72.5
        System.out.println("请输入学号,数,语,英三门成绩,姓名");
        Scanner scan=new Scanner(System.in);
        int id=scan.nextInt();
        double math=scan.nextDouble();
        double chinese=scan.nextDouble();
        double english=scan.nextDouble();
        String name=scan.next();
        //编写sql语句
        String sql = "insert into student values(" + id +",'"+name +"', " +math+"," +chinese+"," +english+")";
        PreparedStatement statement= connection.prepareStatement(sql);
        //sql语句的 增 删 改的语句都是通过executeUpdate()来执行的
        int row= statement.executeUpdate();
        System.out.println(row);
        //关闭连接
        statement.close();
        connection.close();
    }
}


2.2.2:利用?进行插入

 //String sql = "insert into student values(" + id +",'"+name +"', " +math+"," +chinese+"," +english+")";
        String sql = "insert into student values(?, ?, ?, ?, ?)";
        PreparedStatement statement= connection.prepareStatement(sql);
        statement.setInt(1,id);//id是int,是第一个?代替的。
        statement.setString(2,name);
        statement.setDouble(3,math);
        statement.setDouble(4,chinese);
        statement.setDouble(5,english);

第一个?的位置是1,依次类推,根据你要代替?的数据类型选择setString StringInt----

第一个参数是第几个?,第二个参数,是你想代替的数据。


2.2.3:修改操作

 //连接数据库
        Connection connection= dataSource.getConnection();
        //SQL语句
        String sql="update  student set name='琪琪' where name='qiqi'";
        PreparedStatement statement= connection.prepareStatement(sql);
        int row= statement.executeUpdate();
        //关闭。如同栈一般,先开后关
        statement.close();
        connection.close();


2.2.4:删除操作

//连接数据库
        Connection connection= dataSource.getConnection();
        //SQL语句
        String sql="delete from student where name='甜甜'";
        PreparedStatement statement= connection.prepareStatement(sql);
        int row = statement.executeUpdate();
        //关闭资源
        statement.close();
        connection.close();


2.2.5:查找操作 

查找操作返回的是一个结果集。我们这里用while循环将结果集进行打印出来。

 next 相当于移动一下光标, 光标指向下一行. 然后移动到结尾, 就返回 false

使用 getXX() 方法获取到每一列 ,括号里面的是你想查询表的列名。返回的是你获取此列的数据。

  //连接数据库
        Connection connection= dataSource.getConnection();
        //执行SQL语句
        String sql="select * from student where math>80";
        PreparedStatement statement= connection.prepareStatement(sql);
        ResultSet set= statement.executeQuery();
        while(set.next()){
            int id= set.getInt("id");
            String name=set.getString("name");
            double math= set.getDouble("math");
            double chinese= set.getDouble("chinese");
            double english= set.getDouble("english");
            System.out.println(id+" "+name+" "+math+" "+chinese+" "+english+" ");
        }
        //关闭资源
        statement.close();
        connection.close();
    }


总结:

以上就是我总结的jdbc的使用,若有不对之处,请各位铁子留言纠错,若感觉不错,请一键三连。

  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值