当前位置: 首页 > news >正文

用Java编写sql

1.概念

通过Java代码操作mysql数据库

数据库编程,是需要数据库服务器,提供一些API,供程序员调用的

2.安装

2.1下载

在程序中操作mysql需要先安装mysql的驱动包 

并且要把驱动包引入到项目中

在中央仓库可以下载到驱动包(mvnrepository.com)

2.2jar如何引入项目中?

1.先把jar复制到当前项目的目录中

复制刚刚下载的那个jar包如何到刚刚的lib目录选中ctrl v粘贴

2.把这个目录标记成“库”

此时准备工作已经完成,可以开始编写代码了

3.编写代码

3.1.创建java类

3.2.创建Datasource

Datasource:描述:“数据源头”==>数据库服务器所在位置

Datasource可能有多个,选择javax.sql的

public class demo1 {
    public static void main(String[] args) {
        //1.创建datasource
        DataSource dataSource = new MysqlDataSource();
        //向上转型
        ((MysqlDataSource) dataSource).setUrl();
        // 向下转型
    }

}

3.3URL

url是给jdbc操作mysql使用的

url形式:

Datasource光写url只是能找到mysql服务器了

但是还得认证(用户名,密码)

3.4建立和数据库服务器之间的连接

连接好了之后,才能进行后续的请求-响应 交互

要注意包的选择

//2。建立和数据库服务器之间的连接
        Connection connection = dataSource.getConnection();

问题:

解决方法:

3.5构造sql

 //3.构造sql
        String sql = "insert into student values(1, ' 张三')";
        PreparedStatement statement = connection.prepareStatement(sql);

3.6把sql发给服务器

返回值是一个整数,,表示影响到的行数

int n = statement.executeUpdate();

      

3.7执行完毕之后,关闭连接,释放资源

程序通过代码和服务器进行通信,是需要消耗一定的硬件和软件资源的

在程序结束时,就需要告知服务器,释放这些资源

释放顺序:后获取到的资源先释放

         statement.close();
         connection.close();

4.插入,删除,修改代码

插入:

String sql = "insert into student values(1, ' 张三')";
PreparedStatement statement = connection.prepareStatement(sql);

删除:

String sql = "delete from student where id = 1";
PreparedStatement statement = connection.prepareStatement(sql);

修改:

String sql = "update student set name = '张三' where id = 100";
PreparedStatement statement = connection.prepareStatement(sql);

5.插入操作如何不写死

        String sql = "insert into student values(1, ' 张三')";
        PreparedStatement statement = connection.prepareStatement(sql);

这里的张三写死了,我们不好去更改

6.代码

public class demo1 {
    public static void main(String[] args) throws SQLException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学号 :");
        int id = scanner.nextInt();
        System.out.println("请输入姓名 :");
        String name = scanner.next();

        //1.创建datasource
        DataSource dataSource = new MysqlDataSource();
        //向上转型

        ((MysqlDataSource) dataSource).setUrl();
        // 向下转型

        ((MysqlDataSource) dataSource).setUrl("root");
        ((MysqlDataSource) dataSource).setPassword("kkkk");

        //2.建立和数据库服务器之间的连接
        Connection connection = dataSource.getConnection();

        //3.构造sql
        String sql = "insert into student values(?, ?)";
        //String sql = "delete from student where id = 1";
        //String sql = "update student set name = '张三' where id = 100";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2, name);

        //打印sql看效果
        System.out.println("sql = "+ statement);

        //4.把sql发给服务器
        int n = statement.executeUpdate();
        System.out.println("n = " + n);

        //5.释放资源,关闭连接
         statement.close();
         connection.close();
    }

}

相关文章:

  • 51单片机中reg52.h与regx52.h在进行位操作时的不同
  • 大语言模型:从诞生到未来的探索
  • 015--基于STM32F103ZET6的智能风扇设计
  • 字符串反转
  • docker使用代理的简单配置
  • IDEA - 查看类的继承结构(通过快捷键查看、通过生成类图查看)
  • TPA张量成绩注意力详解及代码复现
  • 第16天:C++多线程完全指南 - 从基础到现代并发编程
  • php序列化与反序列化
  • github操作
  • 发票识别详解-发票ocr-发票录入接口-发票信息识别
  • lua基础语法学习
  • AI人工智能机器学习之聚类分析
  • HONOR荣耀MagicBook 15 2021款 独显(BOD-WXX9,BDR-WFH9HN)原厂Win10系统
  • MOM成功实施分享(七)电力电容制造MOM工艺分析与解决方案(第一部分)
  • 如何修改安全帽/反光衣检测AI边缘计算智能分析网关V4的IP地址?
  • win11编译pytorchaudio cuda128版本流程
  • 2020 年英语(一)考研真题 笔记(更新中)
  • Grok3使用体验与模型版本对比分析
  • /ɪ/音的字母或字母组合的单词
  • 外贸网站建设排名/昆山seo网站优化软件
  • 寿光专业做网站的公司/西安优化排名推广
  • 描写做网站专业的句子/泰安seo网络公司
  • 网站建设实训的目的/如何做网络销售平台
  • 深圳宝安外贸网站建设公司/设计网站
  • 做网站需要注意的问题/软件开发网站