第三章 使用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("添加失败");

    }

}

 

 

还有一部分!明天再更新!!!

发布了39 篇原创文章 · 获赞 16 · 访问量 3125

猜你喜欢

转载自blog.csdn.net/HDZ1821/article/details/104467768
今日推荐