JDBC(Java Database Connectivity)Java MySQL数据库连接

news/2024/5/19 0:49:33 标签: mysql数据库, JDBC, 数据库连接

前段时间突发奇想,想要做一个前后端结合的系统,就回顾了以下JDBC相关的内容,花了3个小时,学完+敲完,在这里记录一下吧。。。。
(借此想请教一下font-family中,哪个字体比较好看啊。。。)

JDBC_3">1.先说说JDBC需要的类吧

①Connection ②Statement或PreparedStatement ③ResultSet

呃呃呃呃,好像就这么多。。。。

接下来就是详细说一下这些类的作用了

1.1 Connection

顾名思义,它是连接数据库使用的接口类,主要是负责连接数据库,并担任传送数据的任务。

2.2 Statement或PreparedStatement

连接数据库了,你得执行SQL语句不是,他们就负责把SQL语句传到数据库。
由于Statement自身的一些局限性,并不太推荐使用,它儿子PreparedStatement比它要厉害一点,可以使用占位符,是预编译的,批处理又比Statement要好很多,待会看代码就会知道PreparedStatement要方便得多。

2.3 ResultSet

连接数据库,执行SQL语句,你得拿回来执行之后的数据啊,所以Resultet就可以把想要的数据给拿回来,它是SQL语句执行之后的结果集。

2.上代码。。。

不要忘记,数据库处理的代码要写在DAO层里。
(导入jar文件什么的就不说了)

先写一下一些参数吧(定义全局变量,方便后面调用)

private final String Url = "jdbc:mysql://localhost:3306/数据库名称";
private final String User = "root";//数据库用户名
private final String Password = "root";//密码
private Cinnection conn = null;
private PreparedStatement  state = null;
private ResultSet rs = null;
try {
			//激活数据库驱动
			Class.forName("com.mysql.jdbc.Driver");
			//创建数据库连接
			conn = DriverManager.getConnection(Url, User, Password);
			//创建SQL语句
			//这里以Insert为例来说明一下占位符-->?
			String updateSql = "Insert into tb_areainfo values(?,?)";
			//执行SQL语句(预处理)
			state = conn.prepareStatement(selectSql);
			//占位符中填充数据
			//seInt和setString或者其他类型的参数
			//第一个参数表示第几个占位符,也就是SQL语句中的第几个问号
			//第二个参数表示数据
			state.setInt(1,student.getID());
			state.setString(2,student.getName())
			//执行
			int flag = state.executeUpdate();			
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {

			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
		//各种接口用完之后,关闭多余资源
		//先打开的后关闭
		//这里就会明白为什么说JDBC连接数据库就是一个架桥+炸桥的过程
		
			try {
				if (rs != null) {
					rs.close();
				}
				if (state != null) {
					state.close();
				}
				if (conn != null) {
					conn.close();
				}

			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

ok,就这么多。。。


http://www.niftyadmin.cn/n/1689008.html

相关文章

Django运行创建迁移文件报错:TypeError: __init__() missing 1 required positional argument: 'on_delete'

使用的是Django2.0以上的版本,在添加实体外键的时候,2.0以前的版本是默认级联删除的 在2.0以上的版本要加上 models.ForeignKey(“表名”, on_deletemodels.CASCADE) 之后再创建迁移文件,执行命令行就不会报错了

MySQL命令行输出数据中文乱码问题解决方案

在学习过程中遇到在命令行输出MySQL数据的时候,中文乱码问题 问了问度娘,发现在MySQL输出窗口默认的字符编码处出现了问题 先看以下MySQL字符编码: show variables like char%;其中,character_set_results是输出窗口的字符编码…

MongoDB解压版(zip)安装步骤

这两天做项目需要用到MongoDB数据库,搞了一下 发现,好多博客写的不明不白,好多坑。 还有好多配置config文件的,搞不懂为什么要这样做,,,, 所以写了以下内容,俺也不是太了…

Django结合paginator实现分页

这段时间需要用Django框架做个前后端结合的项目 一想到需求中有分页就特别头疼。。。。 但是问了一下度娘,Django有个好兄弟叫paginator能够特别方便的实现分页 遂用之,真香! 1. 需要的包 from django.core.paginator import Paginator,…

深入探索C++中模板参数的自动推导

深入探索C中模板参数的自动推导 利用模板参数推导时需要注意以下几点: 编译器只根据函数调用时给出的实参列表来推导模板参数值,与函数参数类型无关的模板参数其值无法推导。与函数返回值相关的模板参数其值也无法推导。所有可推导模板参数必须是连续位…

删除win10桌面右键出现的Open Folder as Intellij IDEA Project

首先,winR 输入regedit 打开注册表 在注册表中打开“ \ HKEY_CLASSES_ROOT \ Directory \ Background \ shell \ IDEA Community ” 然后右击删除整个“IDEA Community”文件夹。

js+css实现图片弹框并放大图片

Tips:虽然代码有点长,但是你只需要改掉一个图片链接再下载个jQuery.js就可以得到要展示的效果。 话不多说,先上效果图 点击图片之后会将图片放大1.5倍放大,背景遮罩层根据情况进行设置 今晚找了很多博客都讲不清楚,所以自己就动…

JQuery+Bootstrap利用模态框Modal实现图片弹窗并放大图片(单击任意区域图片还原)

上一篇博客写了有关图片弹窗的比较原始的代码 有许多地方不太方便,不太好看 百度了一下,度娘说模态框能够帮助我实现这个功能 于是就试了一下,将固定弹窗改成图片 主要思路: 点击图片,调用js方法BigBig(src, width, …