JDBC连接数据库

JDBC连接数据库的操作步骤如下:
1、加载数据库驱动程序;
导入这个jar包:mysql-connector-java-5.1.7-bin.jar

try{
//将数据库的驱动拷贝到项目中 架包
Class.forName("com.mysql.jdbc.Driver");
}catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

会抛出一个异常
2、获取数据库连接对象;
(1)、在获取连接数据库对象之前了解三个参数
url:定义了连接数据库时的协议、子协议、数据源标识,它们之间用冒号隔开。它的书写形式: 协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:
“jdbc:mysql://127.0.0.1:3306/stu?characterEncoding=utf-8”
root:数据库用户名;
password:数据库密码;
(2)、
•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
•使用DriverManager的getConnectin(String url , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。
例如:

String url = "jdbc:mysql://127.0.0.1:3306/stu?characterEncoding=utf-8";
Connection conn = DriverManager.getConnection(url, "root","123456");

此时设置的字符编码为utf-8;
3、创建sql语句;
创建sql语句时候定义成String类型

//创建sql语句
String sql = "update student set age=?,c_id=? where id=?";

4,创建preparedStatement;
(1)、执行静态sql语句,通过Statement实例来实现;

//将sql语句放到数据库中执行  获取结果
Statement st = conn.createStatement();

(2)、执行动态sql语句,通过PreparedStatement实例实现;

PreparedStatement ps = conn.prepareStatement(sql);

(3)、执行调用存储过程或者函数的sql语句,使用CallableStatement实例实现;
调用存储过程

CallableStatement pc = conn.prepareCall("{call countstubyclass(?,?)}");

调用函数

CallableStatement pc  = conn.prepareCall("{?=call countstubyclass(?)}");

注意:CallableStatement类和PreparedStatement类是Statement类的子类,可以调用父类方法。
5、遍历结果集(执行sql语句);
jdbc连接数据库分为两个操作:查询和更新;更新又可以分为增加,删除,修改,统一起来就叫做增删查改!
(1)、执行查询操作的时候获取到结果集;
注意:MySQL数据库中列是从左到右编号的,并且从列1开始;

ResultSet rs= ps.executeQuery();
//遍历结果集 
while(rs.next()) {
//实例化实体类对象
Student stu  = new Student();
//获取数据库中student表的name字段的值
String name = rs.getString("name");
String classname = rs.getString("class_name");
//获取一行数据  保存到一个对象中
stu.setName(name);
}

(2)、执行更新操作的时候获取影响行数;

//执行sql语句
PreparedStatement ps = conn.prepareStatement(sql);
//获取影响行数
int row = ps.executeUpdate();
if(row>0) {//当影响行数大于0的时候就说明更新操作执行成功
System.out.println("更新成功!");
}

6、关闭资源:在处理相关异常之后关闭对应的资源
逐个关闭;遵循原则:先开的后关,后开的先关
方式1:局部变量

Connection conn = DriverManager.getConnection(url, "root", "123456");
//创建sql语句
String sql = "select * from student";
//将sql语句放到数据库中执行  获取结果
Statement st = conn.createStatement();
//将获取到的数据保存到结果集中
ResultSet rs = st.executeQuery(sql);
//关闭资源   原则:先开的后关  后开的先关
rs.close();
st.close();
conn.close();

conn ,st ,rs 这三个对象相当于是局部变量,必须在所定义的方法体内进行资源关闭操作;
方式二:全局变量

Connection conn = null;
Statement st = null;
ResultSet rs = null;

在方法体最后关闭资源

if(rs !=null){   // 关闭记录集    
   try {
      rs.close();
   } catch (SQLException e) {
      e.printStackTrace();
   }
}    
if(stmt !=null){   // 关闭声明    
   try {
      stmt.close();
   } catch (SQLException e) {
      e.printStackTrace();
   }
}
if(conn !=null){  // 关闭连接对象    
   try {
      conn.close();
   } catch (SQLException e) {
      e.printStackTrace();
   }
}

以上就是jdbc连接数据库的步骤,若有不到之处请大师们批评指正

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值