900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 【JDBC】使用IDEA连接数据库 执行增删改操作。

【JDBC】使用IDEA连接数据库 执行增删改操作。

时间:2019-01-05 10:04:52

相关推荐

【JDBC】使用IDEA连接数据库 执行增删改操作。

CSDN话题挑战赛第2期

参赛话题:学习笔记

JDBC专栏

【1】idea添加mysql-jar包

【2】使用IDEA连接数据库,执行增删改操作。

【3】IDEA连接数据库,执行查询操作,返回结果集并输出。

连接数据库,执行更新

JDBC专栏前言一、连接数据库1.加载驱动2.通过驱动管理器连接对象二、执行更新1.编写SQL语句2.创建预处理命令对象PreparedStatement()3.填充内容参数4.执行更新executeUpdate(),关闭资源close()三、执行,检查乱码

前言

JDBC是一个Java与数据库通信的规范(接口),各大数据库厂商会去实现JDBC规范(实现类),而上一篇文章提到的jar 包就是包含各种实现类的压缩包。

这篇文章,我将介绍如何尝试利用JDBC规范来连接数据库,对数据库进行更新操作。

一、连接数据库

1.加载驱动

Class.forName("com.mysql.jdbc.Driver");

com.mysql.jdbc.Driver:是JDBC驱动程序,是用于实现JDBC接口的一组Java类

2.通过驱动管理器连接对象

在这一步,我们需要准备三样东西URL,账户用户名,密码

URL:表示跟数据库通信的地址

用户名:自然就是拥有数据库权限的账户了,这里使用根用户root

密码:登录数据库需要用户名及对应的密码。

图片是MySQL数据库的登录界面,正需要用户名与密码

使用JDBC连接数据库相比直接在数据库应用上连接,需要额外确定需要建立通信的数据库的地址,这样才能建立连接。

准备URL

String url = "jdbc:mysql://localhost:3306/fruitdb";

jdbc:mysql://是通信地址的固定开头格式

localhost:3306/代表本地连接,3306则是MySQL数据库的默认端口号

后面的就是我创建的其中一个DataBase名称

准备用户名与密码

String user = "root";//用户名为rootString psw = "";//password填写对应用户的密码即可

使用数据库管理器连接

Connection conn = DriverManager.getConnection(url, user, psw);

整合:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;/*** @author .29.* @create -09-15 21:49*/public class Demo02 {public static void main(String[] args) throws ClassNotFoundException, SQLException {//1.加载驱动Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/fruitdb";String user = "root";String psw = ""Connection connection = Connection conn = DriverManager.getConnection(url, user, psw);}}

二、执行更新

1.编写SQL语句

在编写SQL语句之前,我们先来了解一下,URL地址中数据库的内容:

以下是数据库中的操作:

USE fruitdb;SELECT * FROM t_fruit;

这就是Database:fruitdb中表t_fruit的内容。

接下来就是在IDEA中编写SQL语句,对表进行更新操作了。

String sql = "insert into t_fruit values(9,?,?,?,?)";

values()中的 ?代表还未指定内容

insert into t_fruit values(…)是添加操作;

还可以使用其他的SQL语言:

如:

更新:update t_fruit set price = 100 where fname = ‘榴莲’

删除:delete from t_fruit where fid = 8

等…

2.创建预处理命令对象PreparedStatement()

PreparedStatement psmt = connection.prepareStatement(sql);

3.填充内容参数

上文的SQL语句中,我们用 ?替代了参数,这里进行内容的填充:(下标 ,内容)

psmt.setString(1,"石榴");psmt.setInt(2,8);psmt.setInt(3,64);psmt.setString(4,"石榴,在广东也可以叫鸡屎果");

4.执行更新executeUpdate(),关闭资源close()

//执行更新,返回影响行数iint i = psmt.executeUpdate();//i > 0说明影响行数大于一,即更新成功System.out.println(i > 0 ? "添加成功":"添加失败");//关闭资源psmt.close();connection.close();

关闭资源时,先关闭预处理对象psmt(PreparedStatement),再关闭连接(connection)。

三、执行,检查

完整代码:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;/*** @author .29.* @create -09-15 21:49*/public class Demo02 {public static void main(String[] args) throws ClassNotFoundException, SQLException {Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/fruitdb";String user = "root";String psw = ""Connection connection = Connection conn = DriverManager.getConnection(url, user, psw);//id,fname,price,fcount,remarkString sql = "insert into t_fruit values(9,?,?,?,?)";//4.创建预处理命令对象PreparedStatement psmt = connection.prepareStatement(sql);//5.填充参数psmt.setString(1,"石榴");psmt.setInt(2,8);psmt.setInt(3,64);psmt.setString(4,"石榴,在广东也可以叫鸡屎果");//6.执行更新(增删改),返回影响行数int i = psmt.executeUpdate();System.out.println(i > 0 ? "添加成功":"添加失败");//7.释放资源(关闭连接,先关闭psmt,再关闭connection)psmt.close();connection.close();}}

执行结果:

让我们检查一下数据库:

结果确实是添加成功了。

乱码

如果遇到乱码,通常都是字符集的设置问题,可以尝试在URL地址中设置使用的字符集:

?useUnicode=true&characterEncoding=utf-8

//通过驱动管理器连接对象//url表示跟数据库通信的地址//如果url中需要带参数,使用?连接//如果需要带多个参数,第二个参数开始用&连接String url = "jdbc:mysql://localhost:3306/fruitdb?useUnicode=true&characterEncoding=utf-8";String user = "root";String psw = ""Connection connection = Connection conn = DriverManager.getConnection(url, user, psw);

如果你觉得有帮助:

✨点赞✨

✨收藏✨

✨关注✨

✨评论✨

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。