操作mysql的jdbc(JDBC连接的六步实例代码与mysql连接)
类别:数据库 浏览量:1227
时间:2021-10-05 00:28:56 操作mysql的jdbc
JDBC连接的六步实例代码与mysql连接JDBC的六步:
1.注册驱动
2.获取数据库的连接
3.获取数据库的操作对象
4.执行sql语句
5.处理查询结果集(如果执行的语句中没有select语句这一步不用写)
6.关闭资源
第一步:注册驱动
|
//异常一定是需要处理的 //根据版本不同书写的代码有一些变化,老版本是 DriverManager.register( new com.mysql.jdbc.Driver()); //或者 Class.forName( "com.mysql.jdbc.Driver" ); //新版本是 DriverManager.register( new com.mysql.cj.jdbc.Driver()); //或者 Class.forName( "com.mysql.cj.jdbc.Driver" ); |
第二步:获取数据库的连接
|
//因为要进行try..catch,还要关闭这个资源,因此写在try外边且赋值为空 Connection conn = null ; ... //返回值是Connection,老版本和新版的url书写也不一样 // jdbc:mysql://localhost:3306/t_use这个前面的都一样,把t_use更改为自己的数据库名 //老版 conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/t_use" , "用户名" , "密码" ); //新版 conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/t_use?serverTimezone=GMT%2B8" , "用户名" , "密码" ); |
第三步:获取数据库操作对象
|
//这个和刚才的Connection是一样的 Statement st = null ; ... //这样就把对象创建好了 st = conn.createStatement(); |
第四步:执行sql语句
|
//引号里面写sql语句 String sql = " " ; //再用刚才创建好的对象接入这个sql语句 //这里还有需要说的,如果不是select语句就用下面这个,返回值是一个int,这个就不需要第五步了 st.executeUpdate(sql); //如果sql语句是select的话,就要用下面的这个语句了,还需要定义一个ResultSet对象,去接收这个值 //然后进行第五步的处理 ResultSet rs = null ; //和Connection一样的 rs = st.executeQuery(sql); |
第五步:处理查询结果集
|
//这个只有select语句才进行处理,不仅可以getString还可以getInt等 while (rs.next()){ String str = rs.getString( "需要输出的字段的名字" ); } |
第六步:关闭资源
|
//前面五步都是在try里面进行的,第六步是在finally进行的 //关闭连接 if (rs != null ) { try { rs.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (st != null ) { try { st.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (conn != null ) { try { conn.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } |
关闭连接也是有顺序的,先关ResultSet,再关Statement对象,最后关Connection对象.
完整代码
|
package jdbc.com; import com.mysql.cj.protocol.Resultset; import java.sql.*; public class Test02 { public static void main(String[] args) { Connection conn = null ; Statement st = null ; ResultSet rt = null ; try { //注册连接(可以写到一行里面) //com.mysql.cj.jdbc.Driver Driver = new com.mysql.cj.jdbc.Driver(); DriverManager.registerDriver( new com.mysql.cj.jdbc.Driver()); //获取数据库连接 conn=DriverManager.getConnection( "jdbc:mysql://localhost:3306/liu2?serverTimezone=GMT%2B8" , "用户名" , "密码" ); //获取数据库操作对象 st = conn.createStatement(); //执行sql语句 String sql = "select ename,sal from emp order by sal desc" ; rt = st.executeQuery(sql); //处理查询语句 while (rt.next()){ String ename = rt.getString( "ename" ); String sal = rt.getString( "sal" ); System.out.println(ename + "," + sal); } } catch (SQLException throwables) { throwables.printStackTrace(); } finally { //关闭连接 if (rt != null ) { try { rt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (st != null ) { try { st.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (conn != null ) { try { conn.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } } } |
最后,这个如果要传入值的话,可能会造成sql的注入,解决办法就是把Statement变成PreparedStatement,就可以避免sql的注入问题了,只不过第三步和第四步代码有点变化,就不再多说了。。
总结
到此这篇关于JDBC连接(与mysql连接)的文章就介绍到这了,更多相关JDBC与mysql连接内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://blog.csdn.net/zhinaijiangya/article/details/116566015
您可能感兴趣
- 如何使java与sqlserver数据库连接(java连接mysql数据库 java连接sql server数据库)
- MySQL中ROUND四舍五入函数需要注意的地方
- 最全面的mysql索引详解(MySQL 全文索引使用指南)
- mysql行级锁使用教程(浅析MySQL的lru链表)
- mysql修改表结构的关键字(查看修改MySQL表结构命令)
- mysql的默认事务隔离级别(啥是 MySQL 事务隔离级别?)
- mysqldump备份缺点(MySQL5.7 mysqldump备份与恢复的实现)
- mysql数据表的创建与管理(MySQL数据操作-DML语句的使用)
- 跨服务器mysql数据迁移方案(从云数据迁移服务看MySQL大表抽取模式的原理解析)
- mysql拼接多字段作为查询条件(Mysql 实现字段拼接的三个函数)
- mysql8.0.16安装步骤图解(mysql 8.0.22 安装配置图文教程)
- mysql中如何设置多个主键(Mysql 增加主键或者修改主键的sql语句操作)
- mysql意外查不到数据(MySQL 丢失数据的原因及解决)
- mysql总是报错error(MySQL 5.6主从报错的实战记录)
- navicat连接mysql是远程连接吗(详解Navicat远程连接mysql很慢)
- mysql中group_concat
- 15帅气男士发型,清爽时尚很有型,喜欢就试试(清爽时尚很有型)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
- 王伦狭隘,晁盖霸道,宋江奸诈骨头软,只有鲁智深才适合当寨主(王伦狭隘晁盖霸道)
- 他是梁山最早的头目,江湖人称 旱地忽律 ,宋江几乎将其遗忘(他是梁山最早的头目)
- 梁山创始人杜迁,为何不受宋江待见,只排名83位(梁山创始人杜迁)
- 法国面包(法国面包法棍)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9