1. 数据库编程的必备条件
2. Java的数据库编程:JDBC
3. JDBC工作原理
JDBC优势:
4. JDBC使用
4.1 IDEA配置JDBC
进入https://mvnrepository.com/ 这个链接,在搜索栏输入JDBC Drivers,如图:
进去以后,会有很多的版本,选择你所需要的版本,在这里我们选择 5.1.49 版本:
点进去之后,出现如下界面:
点击箭头所指方框中的 .jar 文件,进行下载,下载之后无需解压。
找到你所下载的依赖包mysql–connector–java-5.1.49.jar:
2、在项目中创建文件夹lib(右击你所创建的项目,之后如图):
3、将刚才复制的依赖包mysql–connector–java-5.1.49.jar粘贴(Ctrl+V)到lib中:
4、右击复制过来的依赖包,在列表中选择Add as Library,点击它
4.2 JDBC开发案例
//1、创建数据源,描述了要操作的数据库在哪里
DataSource dataSource = new MysqlDataSource(); //向上转型
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java110?characterEncoding=utf8&useSSL=false");
((MysqlDataSource) dataSource).setUser("root");
((MysqlDataSource) dataSource).setPassword("123456");
2、setUser方法,里面传的是用户名,一般默认为root
3、setPassword方法,里面传的是你要连接的数据库的密码
- 建立数据库连接
//2、和数据库服务器建立连接
Connection connection = dataSource.getConnection();
以插入为例:
String sql = "insert into student values(1,'小明')";
//需要把String str转成语句对象
PreparedStatement statement = connection.prepareStatement(sql);
//4、把构造好的sql发送给服务器去执行
int n = statement.executeUpdate();
System.out.println("n = "+n);
- 释放资源
//5、最后一步释放必要的资源
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 TestJDBC {
public static void main(String[] args) throws SQLException {
//1、创建数据源,描述了要操作的数据库在哪里
DataSource dataSource = new MysqlDataSource(); //向上转型
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java110?characterEncoding=utf8&useSSL=false");
((MysqlDataSource) dataSource).setUser("root");
((MysqlDataSource) dataSource).setPassword("123456");
//2、和数据库服务器建立连接
Connection connection = dataSource.getConnection();
//3、构造一个SQL
String sql = "insert into student values(1,'小明')";
//需要把String str转成语句对象
PreparedStatement statement = connection.prepareStatement(sql);
//4、把构造好的sql发送给服务器去执行
int n = statement.executeUpdate();
System.out.println("n = "+n); //执行成功,会返回一个数字
//5、最后一步释放必要的资源
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 TestJDBC {
public static void main(String[] args) throws SQLException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入姓名:");
String name = scanner.nextLine();
System.out.println("请输入学号:");
int id = scanner.nextInt();
//1、创建数据源,描述了要操作的数据库在哪里
DataSource dataSource = new MysqlDataSource(); //向上转型
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java110?characterEncoding=utf8&useSSL=false");
((MysqlDataSource) dataSource).setUser("root");
((MysqlDataSource) dataSource).setPassword("123456");
//2、和数据库服务器建立连接
Connection connection = dataSource.getConnection();
//3、构造一个SQL
String sql = "insert into student values(?,?)";
//需要把String str转成语句对象
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1,id);
statement.setString(2,name);
//4、把构造好的sql发送给服务器去执行
int n = statement.executeUpdate();
System.out.println("n = "+n);
//5、最后一步释放必要的资源
statement.close();
connection.close();
}
}
上述代码中的 ?为占位符,下标从1开始。之后可以用PreparedStatement中的setInt方法和setString方法,将用户输入的信息与其对应。
MySQL中的增删改操作都是类似的,这里只介绍了插入操作,删除和修改操作可以自己动手去试试。对于查询操作(select),他需要返回一个结果集,下面是执行查询操作SQL语句的代码:
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.jws.soap.SOAPMessageHandlers;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class TestJDBCSelect {
public static void main(String[] args) throws SQLException {
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java110?characterEncoding=utf8&useSSL=false");
((MysqlDataSource) dataSource).setUser("root");
((MysqlDataSource) dataSource).setPassword("123456");
Connection connection = dataSource.getConnection();
String sql = "select * from student";
PreparedStatement statement = connection.prepareStatement(sql);
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);
}
//释放资源
resultSet.close();
statement.close();
connection.close();
}
}
4.3 JDBC使用步骤总结
5. JDBC常用接口和类
5.1 JDBC API
5.2 数据库连接Connection
Connection接口实现类由数据库提供,获取Connection对象通常有两种方式:
// 加载JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
Connection connection = DriverManager.getConnection(url);
DataSource ds = new MysqlDataSource();
((MysqlDataSource) ds).setUrl("jdbc:mysql://localhost:3306/test");
((MysqlDataSource) ds).setUser("root");
((MysqlDataSource) ds).setPassword("root");
Connection connection = ds.getConnection();
5.3 Statement对象
Statement对象主要是将SQL语句发送到数据库中。JDBC API中主要提供了三种Statement对象。
SQL
的方法:
5.4 ResultSet对象
2. 数据库Statement和PreparedStatement有什么区别?
原文地址:https://blog.csdn.net/m0_61876562/article/details/134498016
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_10829.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!