JDBC总结

JDBC(Java Database Connective):JDBC是一种与不同的数据库连接的操作标准。

一个类四个接口:
①java.sql.DriverManagers类:驱动管理。(注册、加载驱动)
②java.sql.Connection接口:数据库的连接。
创建Statement接口对象的方法:

Statement createStatement();

创建PreparedStatement接口对象的方法:

PreparedStatement prepareStatement(String sql)

注意第二个prepare没有d!!

③java.sql.Statement接口:操作sql语句。
Statement接口对象实现数据库操作的方法:

int	executeUpdate(String sql)			//数据更新
ResultSet executeQuery(String sql)	//数据查询

④java.sql.PreparedStatement接口(子接口):操作sql语句。
一系列的setXxx()方法为指定顺序编号的占位符设置具体内容。

int	executeUpdate(String sql)			//数据更新
ResultSet executeQuery(String sql)	//数据查询

⑤java.sql.ResultSet接口:返回查询结果集,相当于数据表。

第一步:加载驱动程序。
在这里插入图片描述

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

第二步:连接数据库。
连接数据库需要有以下3个信息:数据库的链接地址、数据库的用户名、数据的密码。(数据库服务要打开)
连接数据库需要依靠DriverManager类中的方法:

DriverManager.getConnection(String url,String user,String password) throws SQLException;

第三步:执行sql语句并返回执行结果。(用Statement、PreparedStatement、ResultSet结果)

第四步:关闭数据库。

连接数据库:(mysql)

import java.sql.*;

public class Test2 {
	private static final String DBDRIVER ="com.mysql.jdbc.Driver";
	private static final String DBURL ="jdbc:mysql://localhost:3306/406";
	private static final String USER ="root";
	private static final String PASSWD ="123456";
	
	public static void main(String[] args) throws Exception{
		
		Class.forName(DBDRIVER);		//第一步:加载驱动程序
		Connection conn =DriverManager.getConnection(DBURL,USER,PASSWD);
										//第二步:连接数据库
		
		System.out.println(conn);	//返回结果是否连接成功
		conn.close();				//第四步:关闭数据库
	}
}

在这其中只是执行了1、2、4步操作

关于mysql版本的连接问题:

Statement接口和PreparedStatement接口的区别
(能使用PreparedStatement接口就使用)

用PreparedStatement接口查询全部数据:

import java.sql.*;

public class Test2 {
	private static final String DBDRIVER ="com.mysql.jdbc.Driver";
	private static final String DBURL ="jdbc:mysql://localhost:3306/406";
	private static final String USER ="root";
	private static final String PASSWD ="123456";
	
	public static void main(String[] args) throws Exception{
		Class.forName(DBDRIVER);		//第一步:加载驱动程序
		Connection conn =DriverManager.getConnection(DBURL,USER,PASSWD);//第二步:连接数据库		
		String sql =" SELECT uid,uname,pwd FROM t_user ORDER BY uid " ;//第三步:执行sql语句
		PreparedStatement pstmt = conn.prepareStatement(sql);
		ResultSet rs = pstmt.executeQuery() ;		//数据查询,不设置占位符
		while(rs.next()){
			int uid =rs.getInt(1);					//取出第1个数据列内容
			String user = rs.getString(2);			//取出第2个数据列内容
			String pwd = rs.getString(3);			//取出第3个数据列内容
			System.out.println(uid+","+user+"," + pwd);
		}
		conn.close();				//第四步:关闭数据库
	}
}

其实执行不同的操作要改变的只有第三步。

批处理:在JDBC2.0后开始增加,作用是一次性向数据库中发出多条操作命令。

事务处理的方法:

void	commit()	//事务提交
void	rollback()	//事务回滚
void	setAutoCommit(boolean autoCommit)	//设置是否为自动提交

事务处理的作用:当批处理进行了数据更新操作时,如果某个SQL语句出现了错误,可以设置整体更新操作是否提交。(默认情况下在SQL语句之前的SQL更新都会执行)

发布了33 篇原创文章 · 获赞 1 · 访问量 4707
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章