设为首页 加入收藏

TOP

JDBCMYSQL学习笔记(一)JDBC基本使用(二)
2015-11-21 01:37:29 来源: 作者: 【 】 浏览:1
Tags:JDBCMYSQL 学习 笔记 JDBC 基本 使用
提交。
(5) commit() :在链接上提交事务。
(6) rollback() :在此链接上回滚事务。

6、Statement ——向数据库发送SQL语句

Jdbc程序中的Statement对象用于向数据库发送SQL语句, Statement对象常用方法:
(1) executeQuery(String sql) :用于向数据库发送查询语句。
(2) executeUpdate(String sql):用于向数据库发送insert、update或delete语句
(3) execute(String sql):用于向数据库发送任意sql语句
(4) addBatch(String sql) :把多条sql语句放到一个批处理中。
(5) executeBatch():向数据库发送一批sql语句执行。
(6) clearBatch() :清空此 Statement 对象的当前 SQL 命令列表。

7、ResultSet ——代表Sql语句的执行结果

Jdbc程序中的ResultSet用于代表Sql语句的执行结果。Resultset封装执行结果时,采用的类似于表格的方式。ResultSet 对象维护了一个指向表格数据行的游标,初始的时候,游标在第一行之前,调用ResultSet.next() 方法,可以使游标指向具体的数据行,进行调用方法获取该行的数据。

(1) ResultSet提供了对结果集进行滚动的方法:

a、next():移动到下一行
b、Previous():移动到前一行
c、absolute(int row):移动到指定行
d、beforeFirst():移动resultSet的最前面。
e、 afterLast() :移动到resultSet的最后面。

(2) ResultSet既然用于封装执行结果的,所以该对象提供了用于获取数据的get方法:

获取任意类型的数据
getObject(int index)
getObject(string columnName)
获取指定类型的数据,例如:
getString(int index)
getString(String columnName)
其他获取指定类型数据的方法见下表:
常用数据类型转换表:

?

\

?

8、释放资源 ——释放与数据库进行交互的对象

Jdbc程序运行完后,切记要释放程序在运行过程中,创建的那些与数据库进行交互的对象,这些对象通常是ResultSet, Statement和Connection对象。
特别是Connection对象,它是非常稀有的资源,用完后必须马上释放,如果Connection不能及时、正确的关闭,极易导致 系统宕机。Connection的使用原则是尽量晚创建,尽量早的释放。
为确保资源释放代码能运行,资源释放代码也一定要放在finally语句中。

9、用JDBC对数据库进行CRUD

jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。
Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个int整数(即增删改语句导致了数据库几行数据发生了变化)。
Statement.executeQuery方法用于向数据库发送查询语句,executeQuery方法返回代表查询结果的ResultSet对象。

?

?

	public static void main(String[] args) throws SQLException,ClassNotFoundException{
		// TODO Auto-generated method stub
		
		String url = "jdbc:mysql://localhost:3306/skyfin";
		String username = "root";
		String password = "skyfin";
		//DriverManager.registerDriver(new com.mysql.jdbc.Driver());

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

		Connection  connection = DriverManager.getConnection(url,username,password);
		
		Statement stat = connection.createStatement();
		
		/*
		 * 执行查找操作
		 */
		ResultSet rsResultSet = stat.executeQuery("select * from user");
		
		while (rsResultSet.next()) {
			System.out.println("id = "+ rsResultSet.getObject("id"));
			System.out.println("name = "+ rsResultSet.getObject("name"));
			System.out.println("password = "+ rsResultSet.getObject("password"));
			
		}

		
		/*
		 * 执行插入操作
		 */
		String sql = "insert into user(id,name,password) value(6,"+"'staff'"+","+"'staff'"+")";
		System.out.println(sql);
		int statentnum = stat.executeUpdate(sql);
		if (statentnum>0) {
			System.out.println("insert ok");
		}
		
		/*
		 * 执行更新操作
		 */
		sql = "update user set name = 'skstaff' where name = 'staff'";
		System.out.println(sql);
		statentnum = stat.executeUpdate(sql);
		if (statentnum>0) {
			System.out.println("update ok");
		}
		
		/*
		 * 执行删除操作
		 */
		sql = "delete from user where name = 'skstaff'";
		System.out.println(sql);
		statentnum = stat.executeUpdate(sql);
		if (statentnum>0) {
			System.out.println("delete ok");
		}
		/*
		 * 资源的释放
		 */
		rsResultSet.close();
		stat.close();
		connection.close();
	}

10、用JDBC的PreparedStatement启动事务使用批处理executeBa

首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle GoldenGate 四、数据过滤.. 下一篇小贝_mysql主从复制作用以及案例

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: