人生在世,不如意事常八九,若把烦恼全都写在纸上,时间长了纸也会烦。所以,没事的时候给自己多一些微笑,少一些烦恼。
作者:不能再留遗憾了
专栏:MySQL学习
本文章主要内容:在IDEA上如何搭建JDBC环境以及如何实现JDBC编程。
前面我们写MySQL的SQL命令的时候都是在MySQL的客户端写并且操作数据库的,那么今天我将为大家分享如何在IDEA上实现对MySQL数据库的操作。
JDBC编程是指使用Java Database Connectivity(JDBC,Java数据库连接)技术来连接和操作关系型数据库的过程。JDBC是一个标准的Java API,它定义了一套用于连接和操作各种关系型数据库的通用接口,使得Java程序可以访问和操作不同类型的数据库,如MySQL、Oracle、SQL Server等。
JDBC编程的原理是通过JDBC API来进行对关系型数据库进行操作。具体来说,JDBC提供了一系列接口和类,这些接口和类封装了所有数据库相关的细节,程序员只需要通过这些接口和类,以编程的方式操作数据库即可。
JDBC的主要工作流程如下:
1.加载数据库驱动程序:通过Class.forName()方法加载一个特定的数据库驱动程序,以便程序能够和相应的数据库进行连接。
2.连接到数据库:使用DriverManager.getConnection()方法以指定的数据库URL,用户名和密码为参数创建一个数据库连接对象,连接到数据库。
3.创建执行对象:使用已经建立的数据库连接对象创建一个Statement或者PreparedStatement对象,用于向数据库发送一条SQL语句进行执行。
4.执行SQL语句并处理结果集:通过对Statement或者PreparedStatement对象调用executeQuery() / executeUpdate()等方法发送SQL语句到数据库进行执行,在执行过程中如果有需要传递参数,则采用参数绑定的方式,最后获取执行结果的数据集(ResultSet)。
5.关闭连接:执行完SQL语句并处理完结果集之后,关闭相应的数据库连接对象,释放资源。
JDBC因其可移植性和易用性而被广泛使用,它可以大大简化Java程序和关系型数据库之间的交互,使得Java应用程序能够以编程的方式对关系型数据库进行增、删、改、查等操作。
第一步:在MAVEN官网上下载IDEA和SQL数据库建立联系的jar包。
第二步:将我们下载的MySQL Connector Java 的jar包添加到IDEA的项目依赖中。
复制文件,并打开IDEA,新建一个Director文件
将刚下载的jar包复制在该Director文件中。
然后我们可以看到,该jar包已经被加载进去了。
JDBC需要以下步骤来完成开发
1.创建并初始化一个数据源
2.和数据库服务器建立连接
3.构造SQL语句
4.执行SQL语句
5.释放必要的资源
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");
((MysqlDataSource)dataSource).setUser("root");
((MysqlDataSource)dataSource).setPassword("123456");
实现JDBC操作我们需要MysqlDataSource这个类型的对象。
url叫做唯一资源定位符,描述网络上的某个资源所在的位置。
"jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"
需要登陆我们的MySQL用户名和密码,MySQL用户名我么可以在MySQL客户端中使用下面的SQL语句查询,一般用户名默认都是root,密码就是你的MySQL密码。
SELECT * FROM MYSQL.USER;
Connection connection = dataSource.getConnection();
注意这里的Connection类要使用第一个,导入的包是不同的。
String sql = "insert into student values(1,'张三')";
PreparedStatement statement = connection.prepareStatement(sql);
sql是我们的SQL命令,而 PreparedStatement statement = connection.prepareStatement(sql); 是对SQL命令进行预编译,在这里为什么要对SQL语句进行预编译呢?
服务器对sql语句进行处理,如果sql语句过多,那么服务器的压力就会很大,让客户端来对sql语句进行预编译,服务器做的工作就简单点,压力就会减少。
int ret = statement.executeUpdate();
System.out.println(ret);
statement.close();
connection.close();
不同的时候我们就关闭资源,防止资源浪费。