🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇
JDBC编程
🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇
前言
学习JDBC的编程之前要提前掌握常用数据库其中至少一种的数据库操作语法!!!
1. 数据库编程的必备条件
- 编程语言,如Java,C、C++、Python等
- 数据库,如Oracle,MySQL,SQL Server等
- 数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提 供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包。同样的, 要基于Java操作Oracle数据库则需要Oracle的数据库驱动包ojdbc。
注 : 这篇文章以Java为编程语言操作Mysql来具体讲解怎么用编写代码的方式代替去小黑框里去操作数据库 ! !
2. Java的数据库编程:JDBC
JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为Java 开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。
3.JDBC的一般使用步骤
1.插入操作的示例代码
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生学号:");
int id = scanner.nextInt();
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
//1.创建数据源
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java1?characterEncoding=utf8&useSSL=false");
((MysqlDataSource) dataSource).setUser("root");
((MysqlDataSource) dataSource).setPassword("12345678a");
//2.建立和服务器的联系
Connection connection = dataSource.getConnection();
//3.构造一个 SQL 语句
String sql ="insert into student values(?,?)";
//将String 转化成 语句
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1,id);
statement.setString(2,name);
//把构造好的语句发送给服务器去执行
int n = statement.executeUpdate();
System.out.println(n);
//最后释放资源
statement.close();
connection.close();
代码详细解说
创建数据源 DataSource,实例化一个数据源对象
- 创建数据源之后填入你Mysql的ip
- 一般如果是自己的电脑就直接127.0.0.1,后边mysql的也是3306(默认编码)
- 如果你自己没有修改这些地址,可以直接照着下边的代码copy,不过密码要输入自己设置的密码 !
//1.创建数据源
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java1?characterEncoding=utf8&useSSL=false");
((MysqlDataSource) dataSource).setUser("root");
((MysqlDataSource) dataSource).setPassword("12345678a");
和服务器建立联系 用创建的数据源来建立联系Connection
//2.建立和服务器的联系
Connection connection = dataSource.getConnection();
//3.构造一个 SQL 语句
String sql ="insert into student values(?,?)";
//将String 转化成 语句
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1,id);
statement.setString(2,name);
//把构造好的语句发送给服务器去执行
int n = statement.executeUpdate();
System.out.println(n);
//最后释放资源
statement.close();
connection.close();
- 上述代码构造的是一个插入语句,其中?是通配符,替代的对象 ,由上面的sanner来输入!
- PrepareStatement是预处理语句,将String转化成语句
- executeUpdate可以进行对数据的增删改等操作(其中查的操作是使用query来操作的
- 最后释放资源的时候要注意后创建的先释放 ! !
2.查找操作的示例代码
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 {
//1.创建数据源
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java1?characterEncoding=utf8&useSSL=false");
((MysqlDataSource) dataSource).setUser("root");
((MysqlDataSource) dataSource).setPassword("12345678a");
//2.和服务器建立联系
Connection connection = dataSource.getConnection();
//3.创建查找语句
String sql = "select * from student";
//将String转化成语句
PreparedStatement statement = connection.prepareStatement(sql);
//把构造好的语句传递给服务器,注意这里是用的Query进行查找操作
ResultSet resultSet = statement.executeQuery();
//对查找到的数据进行接受并且遍历打印
while(resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("id = " + id);
System.out.println("name = " + name);
}
//释放资源
statement.close();
connection.close();
}
}
- 对statement的传递是用的executeQuery的方法,
- ResultSet(这是一个结果集,有点类似String的用法),用ResultSet来接收
总结
真嘟超级详细,希望能帮助大伙,博客不易,点赞 收藏 加关注,知识进脑不迷路!!!