欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

连接数据库

程序员文章站 2022-05-29 18:51:47
...
package javaJDBC;

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

public class BaseDao {
	//准备好相关的数据库连接的数据
	//引入驱动类名(常量)
	private final static String DRIVER="com.mysql.jdbc.Driver";
	//连接数据库的URL路径
	private final static String URL="jdbc:mysql://localhost:3306/yyds";	
	//数据库登录账号
	private final static String USER="root";
	//数据库登录密码
	private final static String PASSWORD="lx031212";
	
	
	
	
	//加载驱动(抛出异常)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
	static{
		try {
			//抓住异常
			Class.forName(DRIVER);
		} catch (ClassNotFoundException e) {
			//(打印异常信息)如果捕获到异常,则打印异常信息,如果没有捕获到,则不会执行。
			e.printStackTrace();
		}
	}
	
	
	
	
	
	
	//与数据库连接.................................
	public static Connection getConnect(){
		Connection conn=null;
		try {
			conn= DriverManager.getConnection(URL, USER, PASSWORD);
			return conn;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	
	
	
	
	
	//增删改函数..........................
	public static boolean insertDeleteUpdate(String sql){
		try {
			//预处理SQL语句
			PreparedStatement pre=getConnect().prepareStatement(sql);
			//执行SQL语句(返回操作的行数
			int res=pre.executeUpdate();
			//判断返回值是1还是0
			if(res>0){
				return true;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return false;
	}
	
	//查询
	public static String[][] cha(String sql){
		try {
			//预处理SQL语句,可能存在的异常,需要处理
			PreparedStatement pre = getConnect().prepareStatement(sql);
			ResultSet res=pre.executeQuery();//光标指针
			res.last();//光标弄到最后一行,为了获取二维数组的长度
			//创建一个二维数组
			String[][] dates=new String[res.getRow()][];//getRow()得到最后一行光标的行数数值,行数号。getRow()指当前光标位置行数号。
			res.beforeFirst();//光标弄到第一行,默认从第一行开始。(光标原本默认第一行的上面一行,光标指向哪行就从哪行开始.)
			int count=0;
			while (res.next()) {//判断光标真就返回true,假就返回false
				//创建一个一维数组
				String[] arrs=new String[2];
				//将结果集存储入一维数组中
				arrs[0]=res.getString("id");
				arrs[1]=res.getString("book");
				//将一维数组存储入二维数组中
				dates[count]=arrs;
				count++;
			}
			//将二维数组返回
			return dates;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			//随便返回一个二维数组
			return new String[1][1];
		}
	}
}

相关标签: 连接查询