java--连接数据库

连接数据库的七大步: 1.先导入mysql的jar包

2.加载JDBC驱动

3.连接数据库

4.声明statement

5.执行sql语句

6.查询结果

7.将所有用到的JDBC对象全都关闭掉

代码

package sql;

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

public class ConnectSql {
	public ConnectSql() {
		// TODO Auto-generated constructor stub
		try {
			// 加载JDBC驱动程序
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("数据库驱动加载完毕...");
			// 连接数据库
			Connection conn = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/test", "root", "");
			System.out.println("数据库连接完毕");
			// 创建statement
			Statement stmt = conn.createStatement();// 执行静态的SQL语句
			PreparedStatement pstmt = conn.prepareStatement("需要执行的sql语句");// 执行动态的SQL语句
			CallableStatement cstmt = conn.prepareCall("需要执行的sql语句");// 执行数据库的存储过程
			// 执行SQl语句
			ResultSet rs = stmt.executeQuery("需要执行的sql语句");// 返回的为ResultSet对象,可以进行操作
			int rows = stmt.executeUpdate("需要执行的sql语句");// 返回的为本次操作的记录数
			boolean hasResultSet = stmt.execute("需要执行的sql语句");// 如果在不清楚SQL语句的类型时则只能使用execute方法来执行该SQL语句。如果执行后第一个结果是ResultSet,则返回true,否则返回false
			// 查询结果
			while (rs.next()) {
				String name1 = rs.getString("name");
				String name2 = rs.getString(1);// 此方法速度较快
				// 列是从左到右开始编号,并且编号从1开始
			}
			// 操作JDBC对象
			// 操作完成以后把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺与与声明顺与相反
			if (rs != null) {
				rs.close();//关闭记录集
			}
			if (stmt != null) {
				stmt.close();//关闭声明集
			}
			if (conn != null) {
				conn.close();//关闭连接对象
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			System.out.println("找不到驱动!!!");
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("数据库连接失败!");
		}

	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new ConnectSql();
	}

}

注意

DriverManager.getConnection(url, user, password);此处的URL定义了连接数据库的协议:子协议:数据库的来源地址与连接接口
  1. Mysql连接的URL:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk;
  2. useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为gbk,本参数必为true
  3. characterEncoding=gbk字符编码方式。编码方式详解可查百度   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值