操作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
您可能感兴趣
- mysql中的null是什么(浅谈为什么Mysql数据库尽量避免NULL)
- php连接mysql需要数据源吗(php连接mysql数据库最简单的实现方法)
- mysql写入效率越来越差(MYSQL大量写入问题优化详解)
- mysql删除的delete怎么找回(MySQL Delete 删数据后磁盘空间未释放的原因)
- 怎么查看mysql计划执行情况(详解 MySQL 执行计划)
- 怎么用docker中的mysql连接数据库(连接docker里面的mysql失败解决方法)
- navicat配置远程访问mysql(解决Navicat无法连接 VMware中Centos系统中的 MySQL服务器的问题)
- mysql表锁行锁和分页锁(MySQL 不停机不锁表主从搭建)
- sysbenchmysql性能跑分(MySQL性能压力基准测试工具sysbench的使用简介)
- mysql 操作系统时区(mysql时区查看与设置方法)
- mysqlcount使用技巧(MySQL巧用sum、case和when优化统计查询)
- mysql数据库简单操作(一篇文章教会你进行MySQL数据库和数据表的基本操作)
- 阿里云ecs服务器数据在哪儿(阿里云ECS云服务器linux系统安装mysql后远程连接不了踩坑)
- mysql xml转换json(Mysql将查询结果集转换为JSON数据的实例代码)
- mysql乐观锁与mvcc(MySQL中的乐观锁,悲观锁和MVCC全面解析)
- 安装mysql中要注意什么问题(安装Mysql时可能会遇到的一些疑难杂症)
- 乔欣 古装剧中的高颜值(古装剧中的高颜值)
- 怎么才可以财富自由(如何让自己实现财富自由)
- 为什么越来越多年轻人回农村(为什么越来越多年轻人回农村生活)
- 怎么快速学好英语(怎么快速学好英语初中)
- 中国留学生都是富二代吗()
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
热门推荐
- mysql日志使用(MySQL 日志相关知识总结)
- php常用执行函数(PHP自动载入类文件函数__autoload的使用方法)
- python怎么导入xlsx(用Python将结果保存为xlsx的方法)
- MySQL自定义函数
- 织梦dedecms建站的核心经验和技巧(dedecms 伪静态重写设置修改方法)
- css3动画怎么实现的(css3中用animation的steps属性制作帧动画)
- docker容器缺少很多命令怎么办(解决docker 容器设置中文语言包出现的问题)
- laravel初始化(Laravel 登录后清空COOKIE的操作方法)
- idea怎么在tomcat部署项目(IDEA 配置Tomcat服务器和发布web项目的图文教程)
- mysql 存储引擎有哪些(MySQL 常见存储引擎的优劣)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9