博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC(2)Statement
阅读量:5732 次
发布时间:2019-06-18

本文共 3063 字,大约阅读时间需要 10 分钟。

Statement:

用于执行SQL语句的对象

通过Connection的createStatement()方法得到一个Statement对象

只有在获得了Statement对象之后才能执行SQL对象

 

Statement常用的方法:

->ResultSet executeQuery() throws SQLException:用于执行查询语句,并返回查询结果对应的ResultSet,该方法只能用于执行查询语句

->int executeUpdate(String sql) throws SQLException:用于执行DML语句,返回首影响的行数。

->Boolean execute(String sql) throws SQLException:可以执行任何SQL语句。

 

在执行结束之后必须要关闭Statement对象 

 

executeUpdate:可以执行的SQL语句,可以是insert,update,delete,不可以是select

 

执行SQL一般使用executeUpdate,execute使用的次数相对比较少

现在代码跑起来:

主要用于获取数据库的连接方法:

public Connection getConnection() throws Exception{        Properties properties = new Properties();        InputStream in =                getClass().getClassLoader().getResourceAsStream("jdbc.properties");        properties.load(in);        String user = properties.getProperty("user");        String password = properties.getProperty("password");        String jdbcUrl = properties.getProperty("jdbcUrl");        String driver = properties.getProperty("driver");        Class.forName(driver);        Connection connection = DriverManager.getConnection(jdbcUrl, user, password);        System.out.println(connection);        return connection;    }

 

 

执行executeUpdate(sql)方法

@Test    public void InsertStatementTestJdbc() throws Exception{            //1.获取数据库的连接        Connection conn = getConnection();        //2.准备的sql语句        String sql = "insert into student(sname,sclass)" +                  "values('MrChengs','1111')"//3.执行插入操作        //4.获取操作SQL语句的Statement对象        //调用Connection的createStatement()方法来获取        Statement statement = (Statement) conn.createStatement();        //5.调用Statement对象的executeUpdate(sql)执行SQL语句的插入        statement.executeUpdate(sql);                //6.关闭Statement对象        statement.close();        //7.关闭连接        conn.close();    }

 

会发现这个程序有点问题,关闭是不是应该放在finally?

此时程序会更加完美一点

@Test    public void StatementTestInSert() throws Exception{
Connection conn = null; Statement statement = null; try { conn = null; conn = getConnection(); String sql = "insert into student(sname,sclass)" + "values('MrChengs','1111');"; statement = null; statement = (Statement) conn.createStatement(); statement.executeUpdate(sql); } catch (Exception e) {
e.printStackTrace(); }finally { try { if(statement !=null){ statement.close(); } } catch (Exception e) { e.printStackTrace(); }finally { if(conn != null){ conn.close(); } } } }

 

 

一般使用到的insert/delete/update

使用这个方法,我们一般要进行拼串

在拼串的时候,我们需要注意拼串的一些规范

防止在拼串的时候出错

//插入//String sql = "insert into student(sname,sclass)" + "values('MrChengs','1111')";//删除//String sql = "DELETE From student where id=1";//修改String sql = "update student set sname = 'MrChengs' where id = 3";statement = null;

 

 

简单的说一下:

execute()方法几乎可以执行所有的SQL语句,但是执行SQL语句时比较麻烦

所以一般不使用该方法。

 

这里基本上讲完了。

 

转载于:https://www.cnblogs.com/Mrchengs/p/9780241.html

你可能感兴趣的文章
sqlite数据库
查看>>
重定向 1>&2 2>&1
查看>>
UbuntuLTSP
查看>>
VMware ESXI虚拟机及虚拟系统修改MAC地址的方法
查看>>
从此SQLPLUS有了Top命令
查看>>
Windows中启动Appium和模拟器
查看>>
python小技巧--通过字典的值(value)求键(key)
查看>>
arm-linux-androideabi-addr2line使用
查看>>
Windows Server 2003 和 Windows XP x86 上的最新漏洞补丁
查看>>
我的友情链接
查看>>
润乾集算报表多样性数据源之mongodb
查看>>
我的友情链接
查看>>
Non HTTP response code: java.net.ConnectException
查看>>
socket: Too many open files
查看>>
3.MySQL Replication(MySQL 复制)
查看>>
Oracle如何配置多个监听器
查看>>
一个程序员的成长的六个阶段
查看>>
MySQL日志
查看>>
sequence
查看>>
2016年3月9日作业
查看>>