天天看点

讲一讲我理解的jdbc

什么是jdbc?如果你要改变或者查询数据库里的数据,那么你就要用jdbc连接数据库,你才能操作数据库。

我把jdbc理解为两岸搭桥的过程。

com.dating.util2 Find.java类中的代码为例

讲一讲我理解的jdbc

com.dating.DAO DBconnection.java 类 这个是工具类用来获取con对象,关闭资源

讲一讲我理解的jdbc

jdbc的连接类似于一条河的两岸,如何将一批货物从河的一边运向另一边?所以我就需要搭桥,那么Connection con,就是这个桥。你要搭桥肯定需要工具和材料,那么上图的DBDRIVER、DBURL就是搭桥的工具和材料。桥搭好了,你还不能去运货,你那需要一辆车,那么这辆车就是Statement(prestatemetde防sql注入),并且你还需要携带通行证才能过桥,那么通行证就是DBUSER和DBPASSWORD,也就是连接Mysql数据库的账号和密码。拥有了这些后你就可以去河对岸运货了,当货物返回来了,那么你就需要卸货了,那么这个功能就交给ResultSet rs做了,rs会通过rs.next()这个方法将货物卸下来。当这些事情做完了后,你就需要将con、rs、st这三个对象回收了,不然别人乱用你的,怎么办?

讲一讲我理解的jdbc

jdbc的连接解决的问题是如何把数据拿出来或者更改数据。那么到底是拿数据还是改数据,拿什么数据或者改谁的数据,那么就需要前端发送相应的请求,通过后台处理,再实现具体的增删改查功能。

记录一下util.java工具类

package com.dating.DAO;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class DBConnection {

	private static final String DBDRIVER="com.mysql.jdbc.Driver";
	private static final String DBURL="jdbc:mysql://localhost:3306/db_datingsites";
	private static final String DBUSER="root";
	private static final String DBPASSWORD="123456";
	public static Connection getConnection() throws SQLException{
		Connection conn=null;  
		try {
			Class.forName(DBDRIVER);
			conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}	
		return conn;
	}
	public static void close(Connection conn){ 
		if(conn!=null){  
			try {
				conn.close();  
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	public static void close(Statement pstmt){ 
		if(pstmt!=null){
			try {
				pstmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	public static void close(ResultSet rs){ 
		if(rs!=null){
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	
}