不得不看的数据库连接操作JDBC
JDBC (Java DB Connection)—Java数据库连接
JDBC是一种可用于运行SQL语句的JAVA API(ApplicationProgramming Interface应用程序设计接口)。它由一些Java语言编写的类和界面组成。
JDBC为数据库应用开发者和数据库前台工具开发者提供了一种标准的应用程序设计接口,使开发者能够用纯JAVA语言编写完整的数据库应用程序。
JDBC代表JAVA数据库连接。
它是一个软件层,同意开发人员在JAVA中编写client/server应用。
JDBC的起源和具体介绍在这里也不做过多赘述了,在百度都能够搜到,我这里纯粹是介绍JDBC的具体用法。
在这里首先必须介绍一下驱动,何谓驱动?
不同的数据库厂商或者同一厂商的不同数据库版本号都会提供不同的驱动。不论什么应用程序都是通过这个驱动来操作特定厂商、特定版本号的数据库的。
使用JDBC的第一步就是要注冊(载入)这个驱动。
通过JDBC操作数据库分六个步骤
通过JDBC操作数据库——步骤:
第1步:注冊驱动 (仅仅做一次)
第2步:建立连接(Connection)
第3步:创建运行SQL的语句(Statement)
第4步:运行语句
第5步:处理运行结果(ResultSet)
第6步:释放资源
当然,首先你得有jar包,jar包可以去GitHub下载,或者百度下载。
下面具体介绍一下用法:
第一步:加载驱动
加载驱动方法有三种
1. Class.forName(“com.mysql.jdbc.Driver”);
2. DriverManager.registerDriver(com.mysql.jdbc.Driver);
3. System.setProperty(“jdbc.drivers”, “driver1:driver2”);
推荐第一种方式,不会对详细的驱动类产生依赖
第二步:建立连接
通过DriverManager类去建立服务器的连接
Connection conn = DriverManager.getConnection(url,root,password);
里面需要传递三个参数,分别介绍一下三个参数
url:(格式要求为 JDBC:子协议:子名称//主机名:port/数据库名?属性名=属性值&…)
例如:
jdbc:mysql://localhost:3306/test
user:数据库的用户名
password:数据库的密码
第三步:创建运行对象
Statement statement = conn.createStatement();
Statement 是 Java 执行数据库操作的一个重要接口,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。Statement对象,用于执行不带参数的简单SQL语句。
Statement接口类还派生出两个接口类PreparedStatement和CallableStatement,这两个接口类对象为我们提供了更加强大的数据访问功能。
第四步:运行sql语句
首先当然得有sql语句,数据库相信大家已经能够很熟练地操作了,sql语句自然不在话下,运行对象Statement提供两个经常使用的方法来运行SQL语句。
int status = statement.executeUpdate(sql); //实现数据库表的增、删、改操作,返回值是实际影响表的行数
更新数据库表的操作都可以用该方法执行,很方便,唯独查询表数据稍微麻烦一些
ResultSet set = statement.executeQuery(Stringsql); //实现数据库表的查询,返回值是一个结果集(ResultSet)
此时,数据库表中的所有数据全部存入了结果集中,只需遍历结果集便相当于遍历了数据库表,很多小伙伴就会提出疑问了,该如何对结果集进行操作呢?
我也不卖关子了,马上给你们讲解。
结果集ResultSet是通过游标进行操作的,游标就是一个可控制的、能够指向随意一条记录的指针。开始游标指向数据库表的列名,当执行next()方法后,游标往下移动一位,并判断此处是否有数据,若有,返回true,若无,返回false。讲到这里,相信很多童鞋马上就懂了,下面看具体操作。
while(resultSet.next()){ String username = result.getString(1); String password= result.getString(2); }
在结果集中有两个方法的重载都可以获取到数据库数据
set.getString(columnIndex); set.getString(columnLabel);
注意这两个方法,第一个方法需要一个整形参数,第二个方法需要一个字符串参数,第一个方法需要传入一个大于0的整形数,参数的意思是列的位置,例如我的数据库表
如果想要拿到username该如何拿呢?
因为username列的位置是第二列,所以参数传入2
String username = set.getString(2);
当然想要拿到password就传入3,这个很好理解。
其次就是第二个方法,它需要的是一个字符串,聪明的童鞋肯定马上就能想到,需要拿哪个列的值,就传入列名即可,需要注意的是,参数必须和列名完全一致
String id= set.getString("id"); String username = set.getString("username"); String password= set.getString("password");
查询数据库是不是也非常简单呢?相信大家都能很快地掌握,拿到数据后就可以对数据进行简单的处理了,例如创建bean对象对它进行一些简单的封装。
接下来就是最后一步了,记得关闭和连接相关的资源,要养成一个好的习惯,不用了就把相关的资源释放掉。
JDBC就讲到这里,后续会陆续更新相关内容,感谢大家的支持!
- JDBC连接数据库操作(二)
- JDBC连接数据库,对数据库进行增删查改操作
- java连接数据库的jdbc技术之preparestatement的相关操作
- java数据库编程--JDBC操作步骤以及数据库连接
- 连接数据库jdbc操作
- 原生无框架JDBC实现数据库连接和Servlet页面的基本操作
- jdbc连接数据库操作
- java 获取jdbc连接,并操作数据库
- JDBC(3)JAVA连接数据库之 抽象DAO操作
- JDBC连接数据库操作步骤(JAVA)
- jdbc 连接数据库并进行操作相关代码
- jdbc连接数据库操作步骤
- ET之JDBC 数据库驱动、连接 配置文件操作
- java连接数据库的jdbc技术之statement的相关操作及excute和executeUpdate的用法和区别
- java中jdbc连接数据库操作
- jdbc连接数据库操作
- Java语言JDBC数据库连接操作
- 使用Spring JDBC框架连接并操作数据库
- 原始的jdbc连接数据库以及操作(小总结)
- 【SQL】JDBC之与数据库MySQL的连接以及增删改查等操作