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

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

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,就这么多。。。

发布了27 篇原创文章 · 获赞 3 · 访问量 2125

猜你喜欢

转载自blog.csdn.net/qq_39360565/article/details/103257716