• JDBC编程


    目录

    1. 添加目录

    2.编程

    3.?的使用


    1. 添加目录

    将安装好的驱动包复制下来

    然后在这里新增一个目录

    将复制好的驱动包复制进去

    对其右键,选中添加为库

    2.编程

    在编程的时候,大部分代码都是固定的,会变的大多都是SQL语句,所以我就将一些比较零散注意事项写到代码注释里了

    setUrl里面的内容代表数据源

    其中jdbc:mysql: 是一个url 表示给jdbc的mysql使用的

    127.0.0.1 是数据库服务器所造的IP地址,每台计算机都有自己的IP地址,而这一串数字相当于类里面的this,表示当前使用的计算机

    3306 是端口号,在安装MySQL时,默认为3306(不改的化)

    3306/后面 到 ?前面的test 是你使用的库的名字

    &后面的 描述了请求的字符编码形式(当前数据库的字符集)

    在后面的useSSL=false 是关闭加密功能

    上面的这一串需要修改就只有数据库名了(基本上)

    1. public static void main(String[] args) throws SQLException {
    2. DataSource dataSource = new MysqlDataSource();
    3. ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");
    4. ((MysqlDataSource) dataSource).setUser("root");
    5. ((MysqlDataSource) dataSource).setPassword("123456");
    6. //选择java.sql getConnection()需要添加异常声明
    7. Connection connection = dataSource.getConnection();
    8. String sql = "insert into student values(1,'张三'),(2,'李四')";//SQL语句
    9. PreparedStatement statement = connection.prepareStatement(sql);//选择java.sql
    10. int ret = statement.executeUpdate();
    11. System.out.println(ret);
    12. System.out.println(statement);
    13. }

    SQL语句如果是增删改,那么后面的statement需要用executeUpdate方法

    它可以返回SQL语句所修改的行数

    如果是查询语句则需要用 executeQuery 接收返回的数据

    同时 executeQuery 的返回值需要用 ResultSet(java.sql) 这个类型去接收

    具体情况如下:

    1. public static void main(String[] args) throws SQLException {
    2. DataSource dataSource = new MysqlDataSource();
    3. ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");
    4. ((MysqlDataSource) dataSource).setUser("root");
    5. ((MysqlDataSource) dataSource).setPassword("123456");
    6. Connection connection = dataSource.getConnection();//选择java.sql getConnection()需要添加异常声明
    7. String sql = "select * from student";//SQL语句
    8. PreparedStatement statement = connection.prepareStatement(sql);//选择java.sql
    9. ResultSet resultSet = statement.executeQuery();
    10. while(resultSet.next()) {
    11. int id = resultSet.getInt("id");
    12. String name = resultSet.getString("name");
    13. System.out.println("id: " + id + " name: " + name);
    14. }
    15. System.out.println(statement);
    16. }

    在用ResultSet接收后 要使用while循环,循环条件为resultSet.next() -- 代表一次输出一行

    接收数据用get...()方法, 括号中填的是列名

    3.?的使用

    1. int n = scanner.nextInt();
    2. String sql = "select * from student where id = ?";//SQL语句
    3. PreparedStatement statement = connection.prepareStatement(sql);//选择java.sql
    4. statement.setInt(1,n);

     在语句中的问号代表一个数据,可以使用statement.set...() 这个方法去赋值

    它的第一个参数传入整形,代表赋值的是第几个问号,实例中代表:对第一个问号赋值为变量n

    ?的使用可以提高代码的安全性.

  • 相关阅读:
    优化算法 - RMSProp算法
    公式向-完美解释梯度消失与LSTM
    web前端-HTML图像,表格,列表的使用
    【c++源码】老飞飞源码完整v15源码(包含数据库前端后端源文件)
    java基于springboot教学评价管理系统附源码
    电脑重装系统后如何在防火墙设置允许浏览器访问网络
    python深入理解super
    大模型的实践应用2-基于BERT模型训练医疗智能诊断问答的运用研究,协助医生进行疾病诊断
    【Elasticsearch】Elasticsearch的分片和副本机制
    架构师之路,从「存储选型」起步
  • 原文地址:https://blog.csdn.net/m0_64318128/article/details/128020890