博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java编程之JDBC
阅读量:5916 次
发布时间:2019-06-19

本文共 2857 字,大约阅读时间需要 9 分钟。

JDBC的常用类和接口

1.       DriverManager类

管理数据库中的所有驱动程序,其所有的方法都是静态方法,调用时无需实例化,通过类名就可以直接调用。

 

 

2.       Connection接口

该接口代表与指定的数据库进行连接。通常通过getConnection()方法来获取实例。

Connection connection=DriverManager.getConnection(url,userString, psw);

 

 

 

3.        Statement接口

该接口提供了向SQL传递语句的各种操作。通常首先通过Connection对象的createStatement()方法创建一个Statement对象,之后在进行相关操作。

Statement stmt=connection.createStatement();

executeUpdate方法和executeQuery方法都用来执行SQL语句,区别在于executeUpdate方法用来执行插入,删除,修改的操作,返回值为影响数据库记录的条数而executeQuery方法用来执行select查询语句,返回一个ResultSet对象。

 

 

 

4.       PreparedStatement接口

PreparedStatement继承自Statement,用于执行动态的SQL语句,通过PreparedStatement实例执行的SQL语句,将被预编译并保存到PreparedStatement实例中,实现反复执行同一条SQL语句。

 

 

 

 

5.       ResultSet接口

通常用于显示查询数据库的结果。

 

 

 

代码

 

/* * mysql数据库已经设置完毕,本例需要访问的数据库为school库, * 其下有表student(int id,varchar(20) name,varchar(10) sex,int age) */package chen;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class test {	public static void main(String[] args) {		try {			Class.forName("com.mysql.jdbc.Driver");//通过静态方法直接调用forName方法加载数据库驱动			String url=new String("jdbc:mysql://172.168.1.154:3306/school");//需要连接的数据库端口			String userString=new String("root");//定义登录数据库的用户名			String psw=new String("root");//定义登录数据库的密码			Connection connection=DriverManager.getConnection(url, userString, psw);//连接数据库			System.out.println("连接成功");			/*向数据库中添加数据			 String sqlString=new String("insert into student (id,name,sex,age) value('201206','小兰','女','18')");//定义需要执行的SQL语句			 // String sqlString="update student set age=30 where id=201215";//修改数据			// String sqlString="delete from student where id=201215";//删除数据			Statement stmt=connection.createStatement();//通过createStatement方法创建Statement对象			stmt.executeUpdate(sqlString);//传输需要执行的SQL语句			connection.close();//关闭连接			*/									/*			 * 显示查询结果			Statement stmt=connection.createStatement();			String sqlString=new String("select * from student");			//select * from student where name like '%小%'查询anme中有小字的名字数据			ResultSet resultSet=stmt.executeQuery(sqlString);//获取相应SQL语句队应的ResultSet对象			int id,age;//定义临时变量来存储表的内容			String name,sex;			System.out.println("student表的内容如下");			System.out.println("id\t\t name\t sex\t age");			//next()方法用于判断是否数据表中还有数据,每次读取一行数据		    while(resultSet.next()){		    	id=resultSet.getInt(1);//获取该行的第一列的数据,也可以通过列名来指定,即与id=resultSet.getInt("id")等价		        name=resultSet.getString(2);//name=resultSet.getString("name")		    	sex=resultSet.getString(3);//sex=resultSet.getString("sex")		    	age=resultSet.getInt(4);//age=resultSet.getInt("age")		        System.out.println(id+"\t"+name+"\t\t"+sex+"\t"+age);		    }		    */		} catch (ClassNotFoundException e) {			// TODO Auto-generated catch block			e.printStackTrace();		} catch (SQLException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}	}	}

转载于:https://www.cnblogs.com/kangsir/p/6653306.html

你可能感兴趣的文章
QuickBI助你成为分析师-数据门户权限相关
查看>>
【数据结构】单链表的倒置
查看>>
大话IT职场之一要钱不留情
查看>>
Flume自定义source
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Ubuntu 将 Sublime Text 添加到 Launcher 和其它方式
查看>>
Android - menu 相关
查看>>
如何Centos上挂载Synology的一个NFS共享文件夹
查看>>
RAID的原理及Linux下软RAID的制作
查看>>
for循环 数组下标越界导致死循环
查看>>
UINavigationController点击View隐藏与显示(UITabBarContr...
查看>>
SourceInsight中显示长路径
查看>>
我的友情链接
查看>>
C语言中宏的使用
查看>>
Linux的一些常用命令
查看>>
用VMware View Client连接的时候提示"view connection server 连接失败。该 View server 目前已禁用"...
查看>>
sudo的特殊使用
查看>>
多线程的几个方法
查看>>
服务器故障分析处理
查看>>