JDBC实现增删查改操作
2017-03-17 16:59
363 查看
本章内容主要介绍了JDBC实现增删查改的方法,以mysql为例,具体的解释已经在代码中注释解释
同时介绍了execute() , executeUpdate() , executeQuery() 方法的区别及用法
package com.jdbc;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
import com.mysql.jdbc.ResultSetMetaData;
public class Jdbc {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// TODO Auto-generated method stub
Connection connection = null;
ResultSet resultSet = null;
String sql = "";
String user = "root";
String passwd = "123456";
String url = "jdbc:mysql://localhost:3306/syqx?"+"user="+user + "&password="+passwd+"&useUnicode=true&characterEncoding=UTF8";
//MySql的Url格式: jdbc:mysql://<host>:<port>/<database_name><?参数名1=参数值1><&参数名2=参数值2>...
//useUnicode 是否使用Unicode字符集,characterEncoding 当useUnicode设置为true时,指定字符编码。
// 首先我们需要加载驱动
// 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
// 或者:
// com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
// 或者:
// new com.mysql.jdbc.Driver();
System.out.println("加载MySql驱动成功");
connection = DriverManager.getConnection(url);
// Statement里面带有很多方法,比如executeUpdate()可以实现插入,更新和删除等,返回受影响的行数
//executeQuery()返回一个结果集,一般用于执行select操作
//execute()返回一个boolean值,表示是否返回ResultSet,用的较少,一般用于不知道sql语句执行后返回什么
Statement stmt = connection.createStatement();
//插入
sql="insert into user values(5,'小红','男','000000','班长')";
stmt.executeUpdate(sql);
System.out.println("插入数据成功");
//查找
sql="select * from user";
resultSet = stmt.executeQuery(sql);
while(resultSet.next()){
System.out.println(resultSet.getString(1)+" "+resultSet.getString(2)+" "+resultSet.getString(3)+" "+resultSet.getString(4)+" "+resultSet.getString(5));
}
//删除
sql="delete from user where username='小明'";
int result = stmt.executeUpdate(sql); //result表示返回数据库受影响的行数,对于表级操作,则返回0
System.out.println("删除成功,受影响的行数为"+result+"行");
//更新
sql="update user set password='321' where username='小红'";
result = stmt.executeUpdate(sql);
System.out.println("更新成功,受影响的行数为"+result+"行");
//---------------------------------------------------------
//使用execute()方法
sql ="select * from user";
boolean hasResultSet = false;
hasResultSet = stmt.execute(sql);
if(hasResultSet){
ResultSet rsResultSet = stmt.getResultSet();
//ResultSetMetaData是用于分析结果集的元数据接口
ResultSetMetaData resultSetMetaData = (ResultSetMetaData) rsResultSet.getMetaData();
int columnCount = resultSetMetaData.getColumnCount();
while(rsResultSet.next()){
System.out.println(rsResultSet.getString(1)+" "+rsResultSet.getString(2)+" "+rsResultSet.getString(3)+" "+rsResultSet.getString(4)+" "+rsResultSet.getString(5));
}
System.out.println("该表中共有"+columnCount+"列属性");
}
//关闭连接
connection.close();
}
}
同时介绍了execute() , executeUpdate() , executeQuery() 方法的区别及用法
package com.jdbc;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
import com.mysql.jdbc.ResultSetMetaData;
public class Jdbc {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// TODO Auto-generated method stub
Connection connection = null;
ResultSet resultSet = null;
String sql = "";
String user = "root";
String passwd = "123456";
String url = "jdbc:mysql://localhost:3306/syqx?"+"user="+user + "&password="+passwd+"&useUnicode=true&characterEncoding=UTF8";
//MySql的Url格式: jdbc:mysql://<host>:<port>/<database_name><?参数名1=参数值1><&参数名2=参数值2>...
//useUnicode 是否使用Unicode字符集,characterEncoding 当useUnicode设置为true时,指定字符编码。
// 首先我们需要加载驱动
// 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
// 或者:
// com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
// 或者:
// new com.mysql.jdbc.Driver();
System.out.println("加载MySql驱动成功");
connection = DriverManager.getConnection(url);
// Statement里面带有很多方法,比如executeUpdate()可以实现插入,更新和删除等,返回受影响的行数
//executeQuery()返回一个结果集,一般用于执行select操作
//execute()返回一个boolean值,表示是否返回ResultSet,用的较少,一般用于不知道sql语句执行后返回什么
Statement stmt = connection.createStatement();
//插入
sql="insert into user values(5,'小红','男','000000','班长')";
stmt.executeUpdate(sql);
System.out.println("插入数据成功");
//查找
sql="select * from user";
resultSet = stmt.executeQuery(sql);
while(resultSet.next()){
System.out.println(resultSet.getString(1)+" "+resultSet.getString(2)+" "+resultSet.getString(3)+" "+resultSet.getString(4)+" "+resultSet.getString(5));
}
//删除
sql="delete from user where username='小明'";
int result = stmt.executeUpdate(sql); //result表示返回数据库受影响的行数,对于表级操作,则返回0
System.out.println("删除成功,受影响的行数为"+result+"行");
//更新
sql="update user set password='321' where username='小红'";
result = stmt.executeUpdate(sql);
System.out.println("更新成功,受影响的行数为"+result+"行");
//---------------------------------------------------------
//使用execute()方法
sql ="select * from user";
boolean hasResultSet = false;
hasResultSet = stmt.execute(sql);
if(hasResultSet){
ResultSet rsResultSet = stmt.getResultSet();
//ResultSetMetaData是用于分析结果集的元数据接口
ResultSetMetaData resultSetMetaData = (ResultSetMetaData) rsResultSet.getMetaData();
int columnCount = resultSetMetaData.getColumnCount();
while(rsResultSet.next()){
System.out.println(rsResultSet.getString(1)+" "+rsResultSet.getString(2)+" "+rsResultSet.getString(3)+" "+rsResultSet.getString(4)+" "+rsResultSet.getString(5));
}
System.out.println("该表中共有"+columnCount+"列属性");
}
//关闭连接
connection.close();
}
}
相关文章推荐
- 通过jdbc实现对数据库中数据的增删查改操作
- JDBC实现数据库的增删改查操作实例
- 【SQL】JDBC之运用dbutils组件实现对数据库的增删改查等操作
- JDBC 实现 含参的增删改查操作
- Spring 对JDBC操作(实现增删改查,批量添加功能)
- java 中的 jdbc 实现 增删改查 操作
- 使用dom4j操作xml实现增删改查
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- 巧用JDBC实现对MySQL的“增删改查”
- 用JDBC实现对MySQL的“增删改查”
- Java连接MySQL数据库实现增删改查操作!
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)zz
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- 使用JDBC的CachedRowSet实现将数据源中的数据读取到内存中进行离线操作
- GridView绑定SqlDataSource以其自带功能实现增删查改等操作(不写后台代码)一
- GridView绑定SqlDataSource以其自带功能实现增删查改等操作 二
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- JDBC连接MySQL数据库实现增删查改
- javascript Xml增删改查(IE下)操作实现代码
- 利用回调技术实现的一个JDBC 查询操作(可依此进行扩展)