java数据库连接(JDBC)

中央仓库(jar包下载地址)
理论
API:是应用程序编程接口, 提供了一组类/方法让程序员直接调用
JDBC:即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为Java 开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问
        不同数据库需要下载不同的驱动包,才能使用各个类型的数据库, 在中央仓库上选择驱动版本号要和数据库版本号对应(大版本号相同即可)。
操作
java引入jar包驱动
        需要有驱动包进行接口之间的转换(数据库接口适配java提供的统一接口:标准)), 因此就需要先把驱动包给下载下来,并且导入到项目中。
(1)创建与src同级的目录lib,将数据库驱动包复制到lib目录下
(2)右键lib,选择Add as Library
        把刚才创建好的目录标记为存放库文件(jar包)的目录
(3)此时jar包可以展开,说明可以正常使用了
找到数据库
访问数据库,建立连接
sql语句预处理
通过拼接可以将输入数据插入数据库(但是容易被sql注入,安全性较低)
运用(?占位符)问号解决sql注入问题(建议)
数据操作
statement.executeUpdate(); 将数据插入数据库,返回值为影响的数据库行数
关闭资源
查询数据操作:
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class JDBCSelect {
    public static void main(String[] args) throws SQLException {
        //创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/数据库名?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("用户名");
        ((MysqlDataSource) dataSource).setPassword("密码");

        //建立连接
        Connection connection = dataSource.getConnection();
        //构造sql
        //预处理sql语句
        String sql = "select * from student";
        PreparedStatement statement = connection.prepareStatement(sql);

        //执行sql语句,查询为临时表返回值为 ResultSet
        ResultSet resultSet = statement.executeQuery();

        //遍历结果集合
        while (resultSet.next()){
            //按照列序号遍历
            //int id = resultSet.getInt(1);
            //String name = resultSet.getString(2);
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id = "+ id +", name = "+ name);
        }

        //关闭资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}

增删改操作:

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class JDBCUpdate {
    public static void main(String[] args) throws SQLException {
        //创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/数据库名?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("用户");
        ((MysqlDataSource)dataSource).setPassword("密码");

        //建立连接
        Connection connection = dataSource.getConnection();
        //构造sql
        Scanner scan = new Scanner(System.in);
        System.out.println("输入要修改的学生ID");
        int id = scan.nextInt();
        System.out.println("输入要修改的学生姓名");
        String name = scan.next();

        //预处理sql语句
        String sql = "update student set name=? where id = ?";
        //数据预处理将数据解析,让数据库可以直接执行命令,提高数据库执行效率
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(2,id);
        statement.setString(1,name);

        //执行sql语句
        int n = statement.executeUpdate();
        System.out.println("受影响的行:"+n);

        //关闭资源
        statement.close();
        connection.close();

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值