java jdbc连接数据库

创建jdbc的步骤:

第1步: 加载驱动器

Class.forName("com.mysql.jdbc.Driver")

加载 mysql 驱动

第2步: 登陆数据库

DriverManager.getConnection(url,user,password)

使用DriverManager获取数据库连接 url 为数据库的url地址 user 为你登录数据库的用户名 password为登录密码

第3步: 创建执行SQL的对象 Connection对象.prepareStatement(sql)

使用 Connection对象 . prepareStatement( sql 语句 )执行sql语句并返回PrepareStatement操作对象的

ps = con.prepareStatement(sql);// ps 为 PrepareStatement 对象的变量

第4步: 编写SQL命令

如果需要设置参数 可以 使用 prepareStatement 对象 . setXXX(n, value) 去设置你需要替换的 ? 占位符 

xxx为参数类型 n 为你要替换的第几个占位符 占位符序号从1开始

value 为你的值

for (int i = 0; i < string.length; i++) {
    ps.setString(i + 1, string[i]);
}

第5步: 执行SQL命令: 通过执行对象,执行SQL命令

PrepareStatement对象 . execute() 执行 sql 命令

ps.execute();

第6步: 获得执行结果: 通过执行对象,获得执行结果

如果是 查询命令的话 可以使用

ps.getResultSet();

获取查询结果集

增删改的话 可以使用

ps.setUpdateCount();

执行命令影响的行数

注意:

添加,修改,删除执行结果为影响行数,查询执行结果为结果集[表格]

package dbpage;

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

public class Jdbc {
	private static String class_Driver = "com.mysql.jdbc.Driver";
	private String url = "jdbc:mysql://localhost:3306/mydb";
	private String user = "root";
	private String password = "123456";
	private Connection con = null;
	PreparedStatement ps = null;
	ResultSet rset = null;
	static {//加载驱动器类
		try {
			Class.forName(class_Driver);//加载 mysql 的驱动 Driver类 
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	public void getConnection() {//获取连接
		try {
			con = DriverManager.getConnection(url, user, password); //获取使用 用户名和密码 获取连接
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public void doSQL(String sql, String[] string) {//执行sql语句
		try {
			ps = con.prepareStatement(sql); //将 sql 语句放入prepareStatement 对象
			for (int i = 0; i < string.length; i++) {
				ps.setString(i + 1, string[i]); //替换 sql 语句中的占位符
			}
			ps.execute(); //执行 sql 语句
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public int getUpCount() {//获取影响行数
		int count = -1;
		try {
			count = ps.getUpdateCount(); //从 prepareStatement 对象中获得影响行数
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return count;
	}

	public ResultSet chaXun() {//获取结果集 并将结果集返回出去
		try {
			rset = ps.getResultSet(); //获取查询的结果集
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return rset;
	}

	public void closeData() {//关闭打开的资源

		try {
			if (rset != null) {
				rset.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{ //使用 finally 尝试关闭每一个连接 避免连接未关闭
			try{
				if(ps != null){
					ps.close();
				}
			} catch (Exception e){
				e.printStackTrace();
			}finally{
				try {
					if(con != null){
						con.close();
					}
				} catch (Exception e2) {
					e2.printStackTrace();
				}
			}
			
		}

	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值