实验五 通用接口数据库编程
第1关:JDBC 查询数据
package step1;
import java.sql.\*;
publicclass Query {
publicstaticvoid queryDB(){
// 声明变量
Connection conn = null;
Statement stat = null;
ResultSet rs = null;/\*\*\*\*\*\*\*\*\* 查询出的数据保存在这个结果集里 \*\*\*\*\*\*\*\*\*/
// "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)
/\*\*\*\*\*\*\*\*\* 教室机密码是root,用户名(root) \*\*\*\*\*\*\*\*\*/
String username ="root";
String password ="123123";
// 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8
String url ="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8";
try{
/\*\*\*\*\*\*\*\*\* Begin \*\*\*\*\*\*\*\*\*/
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.建立数据库连接
conn = DriverManager.getConnection(url, username, password);
// 3.定义sql
String sql ="SELECT \* FROM s";
// 4.建立statement对象
stat = conn.createStatement();
// 5.查询数据,输出结果
rs = stat.executeQuery(sql);
// 输出结果
System.out.println("sno\tsname\tstatus\tcity");
while(rs.next()){
System.out.println(rs.getString("sno")+"\t"+ rs.getString("sname")+"\t"+ rs.getInt ("status")+"\t"
+ rs.getString("city"));
}
/\*\*\*\*\*\*\*\*\* End \*\*\*\*\*\*\*\*\*/
}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}finally{
try{
if(rs != null){
rs.close();
}
if(stat != null){
stat.close();
}
if(conn != null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
第2关:JDBC 插入数据
package step1;
import java.sql.\*;
publicclass Insert {
publicstaticvoid insertDB(){
// 声明变量
Connection conn = null;
Statement stat = null;
// "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)
String username ="root";
String password ="123123";
// 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8
String url ="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8";
try{
/\*\*\*\*\*\*\*\*\* Begin \*\*\*\*\*\*\*\*\*/
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.建立数据库连接
conn = DriverManager.getConnection(url, username, password);
// 3.建立statement对象
stat = conn.createStatement();
// 4.定义SQL
String sql ="INSERT INTO s(sno, sname, status, city) VALUES ('S6','泰鑫',10,'十堰')";
// 5.执行SQL
int result = stat.executeUpdate(sql);
// 6.处理结果
if(result ==1){
System.out.println("插入成功!");
}else{
System.out.println("插入失败!");
}
/\*\*\*\*\*\*\*\*\* End \*\*\*\*\*\*\*\*\*/
}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}finally{
try{
if(stat != null){
stat.close();
}
if(conn != null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
第3关:JDBC 更新数据
package step1;
import java.sql.\*;
publicclass Update {
publicstaticvoid updateDB(){
// 声明变量
Connection conn = null;
Statement stat = null;
// "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)
String username ="root";
String password ="123123";
// 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8
String url ="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8";
try{
/\*\*\*\*\*\*\*\*\* Begin \*\*\*\*\*\*\*\*\*/
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.建立数据库连接
conn = DriverManager.getConnection(url, username, password);
// 3.定义SQL
String sql ="UPDATE s SET sname = '东风', status = 40, city = '十堰' WHERE sno = 'S5'";
// 4.建立statement对象
stat = conn.createStatement();
// 5.执行SQL
int rows = stat.executeUpdate(sql);
// 6.处理结果
if(rows \>0){
System.out.println("更新成功!");
}else{
System.out.println("更新失败!");
}
/\*\*\*\*\*\*\*\*\* End \*\*\*\*\*\*\*\*\*/
}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}finally{
try{
if(stat != null){
stat.close();
}
if(conn != null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
第4关:JDBC 删除数据
package step1;
import java.sql.\*;
publicclass Delete {
publicstaticvoid deleteDB(){
// 声明变量
Connection conn = null;
Statement stat = null;
// "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)
String username ="root";
String password ="123123";
// 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8
String url ="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8";
try{
/\*\*\*\*\*\*\*\*\* Begin \*\*\*\*\*\*\*\*\*/
// 1. 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2. 建立数据库连接
conn = DriverManager.getConnection(url, username, password);
// 3. 定义SQL
String sql ="DELETE FROM s WHERE sno = 'S5'";
// 4. 建立statement对象
stat = conn.createStatement();
// 5. 执行SQL
int rows = stat.executeUpdate(sql);
// 6. 处理结果
if(rows \>0){
System.out.println("删除成功!");
}else{
System.out.println("删除失败!");
}
/\*\*\*\*\*\*\*\*\* End \*\*\*\*\*\*\*\*\*/
}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}finally{
try{
if(stat != null){
stat.close();
}
if(conn != null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
第5关:JDBC 条件查询
package step1;
import java.sql.\*;
import java.util.Scanner;
publicclass QuerySno {
publicstaticvoid queryDB(){
// 接收供应商编号
Scanner scanner =new Scanner(System.in);
String sno = scanner.next();
// 声明变量
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;
// "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)
String username ="root";
String password ="123123";
// 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8
String url ="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8";
try{
/\*\*\*\*\*\*\*\*\* Begin \*\*\*\*\*\*\*\*\*/
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.建立数据库连接
conn = DriverManager.getConnection(url, username, password);
// 3.定义sql
String sql ="SELECT \* FROM s WHERE sno = ?";
/\*\*\*\*\*\*\*\*\* ?占位符 \*\*\*\*\*\*\*\*\*/
// 4.建立PreparedStatement对象
psmt = conn.prepareStatement(sql);
/\*\*\*\*\*\*\*\*\* 预编译SQL语句 \*\*\*\*\*\*\*\*\*/
// 5.注册PreparedStatement对象的参数
psmt.setString(1, sno);
// 6.查询数据,输出结果
System.out.println("sno\tsname\tstatus\tcity");
rs = psmt.executeQuery();
while(rs.next()){
System.out.print(rs.getString("sno")+"\t");
System.out.print(rs.getString("sname")+"\t");
System.out.print(rs.getInt("status")+"\t");
System.out.println(rs.getString("city")+"\t");
}
/\*\*\*\*\*\*\*\*\* End \*\*\*\*\*\*\*\*\*/
}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}finally{
try{
if(rs != null){
rs.close();
}
if(psmt != null){
psmt.close();
}
if(conn != null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}