文章目录
前言
随着我们对java和数据库的深入学习,java与数据库连接也让很多小伙伴感到头疼,而本文就介绍了利用JDBC中的基础API建立java与数据库的连接。
一、mysql-connector-java
要像让我们的java项目连接到我们的数据库,我们需要先下载一个jar包,而mysql-connector-java就是我们连接数据库所需要的jar包,mysql-connector-java共分为5和8的版本。
mysql-connector-java的下载路径如下:https://dev.mysql.com/downloads/connector/j/
二、使用步骤
1.mysql-connector-java-5
该版本支持5.6、5.7、8.0版本的mysql数据库,支持3.0、4.0、4.1、4.2版本的jdbc,在使用该版本时Driver类的实现路径是
com.mysql.jdbc.Drive。
2.mysql-connector-java-8
支持5.6、5.7、8.0版本的mysql数据库,支持4.2版本的jdbc,在使用该版本时的Driver类的实现路径是com.mysql.cj.jdbc.Drive。
三、mysql-connector-java的使用
首先,我们要创建一个空项目,之后我们在src目录下创建一个名为lib的Directory文件
然后,我们将我们的mysql-connector-java包复制到lib文件内
复制完后,我们需要做的就是启动这个jar包
如果我们的jar包变为可展开模式的话就说明我们jar包启动成功了
代码的实现
//1.注册驱动//注册驱动时,我一般使用反射触发的方案//如果你用的jar包是5版本的话,这里的cj也就不用加上了,也就是"com.mysql.jdbc.Driver"Class.forName("com.mysql.cj.jdbc.Driver");//2.获取连接Connection connecti = DriverMapper.getConnection();//getConnection()方法共有三种,分别是有一个参数url、有两个参数url和info,最后一个是有三个参数url、user和password//一个参数:String url 的格式: "jdbc:mysql://127.0.0.1:3306/数据库名?user=账号&password=密码"//两个参数:String url的格式:"jdbc:mysql://127.0.0.1:3306/数据库名",而Properti info也就是将user和password封装进一个对象//三个参数:String url的格式:"jdbc:mysql://127.0.0.1:3306/数据库名",String user是你的数据库账户名,String password是你的数据库密码//3.创建statement//这一步有两种方案,一种是静态方案,另一种是预编译的方案,这里我们使用预编译的方案PreparedStatement preparedstatement = connection.preparedStatement(sql语句结构);//这里的sql语句结构就是你要对数据库的操作,例如"select * from 数据库名"//4.占位符赋值//对你sql语句中的占位符?进行赋值操作preparedstatement.setObject(?的位置 从左到右 从1开始,值);//5.发生SQL语句//我们发送的sql语句分为DQL和非DQL是有不同的发送方法的int rows = executeUpdate();//非DQLResult result = executeQuery();//DQL//6.查询结果的解析if(result.next())或while(result.next())//因为result返回的结果的光标是停在数据的前一行的,所以我们要使用next()方法使光标下移,这里的判断就是判断光标下移是否//还有数据,如果有,返回true,没有则返回false//获取列的数据即可get类型(int 列的下角标 从1开始);//获取列的信息getMetadata(); ResultsetMetaData对象包含的就是列的信息//7.关闭资源//调用对应的close()方法即可
举例
在这里插入代码片@Testpublic void testDelete() throws ClassNotFoundException, SQLException {//1.注册驱动Class.forName("com.mysql.cj.jdbc.Driver");//2.获取连接Connection connection = DriverManager.getConnection("jdbc:mysql:///atguigu", "root", "123456");//3.编写SQL语句结果,动态值的部分使用?代替String sql = "delete from t_user where id=?";//4.创建prepareStatement,并且传入SQL语句的结果PreparedStatement preparedStatement = connection.prepareStatement(sql);//5.占位符赋值preparedStatement.setObject(1,3);//6.发送SQL语句int rows = preparedStatement.executeUpdate();//7.输出结果if (rows > 0){System.out.println("删除成功!!");}else {System.out.println("删除失败!!");}//8.关闭资源preparedStatement.close();connection.close();}
其对应的输出结果为:删除成功!!
来源地址:https://blog.csdn.net/name_xy/article/details/130304374