一、连接数据库
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";//用户名为root String 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 2022-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()
//执行更新,返回影响行数i int 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 2022-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,remark String 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);
如果你觉得有帮助:
✨点赞✨
✨收藏✨
✨关注✨
✨评论✨