MySQL JDBC编程_2
使用案例
如何使用JDBC
在java
中编程呢?
我们在IDEA
中进行操作!
- 首先我们需要创建一个项目!
- 在项目中添加一个文件夹,然后将刚刚下载好的
JDBC
jar包导入项目中!!!
创建lib
文件夹,将jar
包复制过去
Add as Library
当我们可以看到这么多文件夹 ,那么我们便导入成功了!!!
- 编写代码
JDBC
的基本流程!
创建DataSource
对象,这个对象就是描述了数据库服务器在哪!
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
public class jdbc {
public static void main(String[] args) {
//创建DAtaSource对象
//导入 javax.sql包
DataSource dataSource = new MysqlDataSource();
//描述数据库服务器在哪里
// 设置数据库所在地址
//jdbc:mysql://127.0.0.1:3306/java_2022?characterEncoding=utf8&useSSL=false
((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java_2022?characterEncoding=utf8&useSSL=false");
//设置登入数据库用户名
((MysqlDataSource)dataSource).setUser("root");
//设置数据库登入密码
((MysqlDataSource)dataSource).setPassword("123456");
}
}
为啥我们的dataSource
对象需要使用强制类型转换呢?
因为如果我们直接创建一个MysqlDataSource
对象的话,如果我们换一个数据库那么代码的兼容性就较低,需要该的地方较多!而采用类型强制转换,只需要改动部分代码即可!
setUrl
url 指的是 uniform/universal resource locator
唯一资源定位地址,就是我们平常说的网站!
jdbc:mysql://127.0.0.1:3306/java_2022?characterEncoding=utf8&useSSL=false
那这串字符代表什么意思?
jdbc:mysql
表示mysql jdbc的网址
//127.0.0.1
mysql 服务器的主机所在的IP
地址 ip地址就描述了网络上一个主机的位置,我们也可以用localhost
代替,因为当前我们的数据库服务器和客户端的主机都是同一台
3306
端口号 访问你的主机上的哪一个程序,3306表示mysql服务器的默认端口号!
java_2022
你需要访问的数据库名称
characterEncoding=utf8
指定字符集编码! 或者是utf8b
&useSSL=false
是否需要传输过程中加密,一般不加密
setUser
设置用户名
setUser("root");
root
是管理员用户,我们也可以有其他用户
setPassword
setPasssword("123456");
这就是输入Mysql
服务器的密码!
写完上述代码,我们就已经创建好了一个对象!
就相当于我们已经分配了一个任务!!!
但是此时我们没有去执行这个任务
我们需要连接数据库才能访问该数据库!!
如何连接数据库服务器呢?
dataSource
对象下有一个方法,可以连接mysql
数据库服务器!
Connection connection = dataSource.getConnection();
注意这里的Connection
类是java.sql.Connection
包下的类!!!
我们已经连上了数据库那么我们就可以对数据库里的内容进行操作了!!!
String sql = "insert into student values('吕布',101)";
我们将sql
语句写成字符串!!!
PreparedStatement statement = connection.prepareStatement(sql);
利用connection
对象创建一个语句对象!
PreparedStatement statement = connection.prepareStatement(sql);
我们将sql
传入statement
语句对象!!!但是并没有执行操作
int ret = statement.executeUpdate();
执行操作语句!!!
此条语句执行后,那么我们的数据库便执行了sql
语句!!!
而我们的返回值ret
表示几行数据受到影响,就如同我们在命令行执行成功后的提示!!!
我们可以打印ret
值从而知道多少列受到影响!或者打印statement
值可以看到具体的sql
操作!!!
我们将sql
执行完毕,还需要将数据库连接断开和PrepareStatement
资源释放!!!
关闭资源
statement.close();
connection.close();
因为我们是先连接数据库,在创建了statement
对象!
所以我们要先close
statement,再close
connection!!!
就比如我们打开洗衣机,再放衣服!!!
洗完后要先拿完衣服再关洗衣机!!!
- 点赞
- 收藏
- 关注作者
评论(0)