第三章 使用Statement 接口实现增,删,改操作
第一节:Statement 接口引入
作用:用于执行静态 SQL 语句并返回它所生成结果的对象。
int executeUpdate(String sql) 执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。 void close() 立即释放此 Statement 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。 |
第二节:使用 Statement 接口实现添加数据操作
第三节:使用 Statement 接口实现更新数据操作
第四节:使用 Statement 接口实现删除数据操作
Connection有个作用就是可以创建Statement CreateStatement()方法
实现:
一般常使用util命名包,进行封装类。建立如下:
源代码:
package util;
import java.sql.Connection;
import java.sql.DriverManager;
public class Dbutil {
//载入驱动
private static String jdbcname="com.mysql.jdbc.Driver";
//载入其他信息
private static String dbUrl="jdbc:mysql://localhost:3306/hibernate";
private static String dbname="root";
private static String dbpassword="123456";
//获取数据库连接
public Connection getCon()throws Exception{
Class.forName(jdbcname);//载入驱动
Connection con=DriverManager.getConnection(dbUrl,dbname,dbpassword);
return con;
}
//关闭连接
public void close(Connection con)throws Exception{
if(con!=null)
con.close();
}
}
新建:
对应数据库这张表:
这里要注意的是,首先我们一开始是获取到的数据库连接。
之后我们才获取到了statement的对象。
但是在我们退出的时候,我们必须先关闭statement对象,再关闭数据库连接(con),否则会出现其他的问题。
s
会发现这个返回值是int,这个int返回值的意思是,当更新的时候,英国更新了一条数据,就返回1,如果10条就返回10,假如一条都没操作就返回0.所以说设计了如下的东西,测试。
然后刚才,我的。。eclipse出了点问题,就是mysql的jar包(驱动包构建路径有问题
)出了点问题,还有我的url也写错了。
这样子运行刚才那个程序就有:
然后新建一个:
再回到这里:
将关闭连接进行一个统一的封装方法(方便使用)
另外:
对指定数据库进行新增列表的操作:
USE hibernate;
SHOW TABLES;
ALTER TABLE t_teacher ADD COLUMN hobby1 VARCHAR(20) NOT NULL DEFAULT '0' AFTER id;
源代码:
package jdbc02;
import java.sql.Connection;
import java.sql.Statement;
import util.Dbutil;
public class Demo03 {
private static Dbutil dbutil=new Dbutil();
private static int addteacher(String hobby1,int hobby,String name)throws Exception{//直接在这里捕获异常
Connection con=dbutil.getCon();
/**
* 添加图书
*/
//写sql语句需要进行拼接
String sql="insert into t_teacher values(null,'"+hobby1+"',"+hobby+",'"+name+"')";
//第一个值为null是因为让其自己增加,也就是主键id!!!!。
Statement stmt=con.createStatement();
int cnt=stmt.executeUpdate(sql);
dbutil.close(stmt, con);//关闭statement和连接
return cnt;
}
public static void main(String[] args)throws Exception{//简便抛出异常
int result=addteacher("love",1,"春磊可爱");
if(result==1)
System.out.println("添加成功");
else
System.out.println("添加失败");
}
}
还有一部分!明天再更新!!!