JDBC操作,执行数据库更新操作
目标:
使用Connection对象取得Statement实例
使用Statement进行数据增删改。
Statement接口
要对数据库操作,要使用Statement完成。此接口可以使用Connection接口中提供的createStatement()方法实例化。
证明:所有操作必须从连接展开,通过连接取得操作接口实例。
向student表中增加数据。
package 类集; import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.Statement ; public class InsertDemo01{ // 定义MySQL的数据库驱动程序 public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ; // 定义MySQL数据库的连接地址 public static final String DBURL = "jdbc:mysql://localhost:3306/sys" ; // MySQL数据库的连接用户名 public static final String DBUSER = "root" ; // MySQL数据库的连接密码 public static final String DBPASS = "aaaaaa" ; public static void main(String args[]) throws Exception { // 所有的异常抛出 Connection conn = null ; // 数据库连接 Statement stmt = null ; // 数据库操作 Class.forName(DBDRIVER) ; // 加载驱动程序 String sql = "insert into student values('大红',35)"; conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; stmt = conn.createStatement() ; // 实例化Statement对象 stmt.executeUpdate(sql) ; // 执行数据库更新操作 stmt.close() ; // 关闭操作 conn.close() ; // 数据库关闭 } };
执行结果:
Sun Apr 09 20:46:14 CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
查询数据库:
证明成功插入。
动态插入数据
package 类集; import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.Statement ; public class InsertDemo01{ // 定义MySQL的数据库驱动程序 public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ; // 定义MySQL数据库的连接地址 public static final String DBURL = "jdbc:mysql://localhost:3306/sys" ; // MySQL数据库的连接用户名 public static final String DBUSER = "root" ; // MySQL数据库的连接密码 public static final String DBPASS = "aaaaaa" ; public static void main(String args[]) throws Exception { // 所有的异常抛出 Connection conn = null ; // 数据库连接 Statement stmt = null ; // 数据库操作 Class.forName(DBDRIVER) ; // 加载驱动程序 String name = "李康" ; // 姓名 int age = 23 ; // 年龄 String sql = "INSERT INTO student(name,age) "+ " VALUES ('"+name+"','"+age+"')" ; conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; stmt = conn.createStatement() ; // 实例化Statement对象 stmt.executeUpdate(sql) ; // 执行数据库更新操作 stmt.close() ; // 关闭操作 conn.close() ; // 数据库关闭 } };
数据库查询结果:
为什么要关闭两次:
stmt.close() ; // 关闭操作 conn.close() ; // 数据库关闭
数据库操作中,只可以关闭一次,这一次就是关闭操作,一般JDBC中要进行正者打开,倒着关闭。
更新操作:
package 类集; import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.Statement ; public class UpdateDemo{ // 定义MySQL的数据库驱动程序 public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ; // 定义MySQL数据库的连接地址 public static final String DBURL = "jdbc:mysql://localhost:3306/sys" ; // MySQL数据库的连接用户名 public static final String DBUSER = "root" ; // MySQL数据库的连接密码 public static final String DBPASS = "aaaaaa" ; public static void main(String args[]) throws Exception { // 所有的异常抛出 Connection conn = null ; // 数据库连接 Statement stmt = null ; // 数据库操作 Class.forName(DBDRIVER) ; // 加载驱动程序 String name = "李华" ; // 姓名 int age = 25 ; // 年龄 String sql = "UPDATE student SET name='"+name+"', age=" + age+" where name='大红'"; conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; stmt = conn.createStatement() ; // 实例化Statement对象 stmt.executeUpdate(sql) ; // 执行数据库更新操作 stmt.close() ; // 关闭操作 conn.close() ; // 数据库关闭 } };
操作结果:
成功更新。
数据删除
package 类集; import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.Statement ; public class DeleteDemo{ // 定义MySQL的数据库驱动程序 public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ; // 定义MySQL数据库的连接地址 public static final String DBURL = "jdbc:mysql://localhost:3306/sys" ; // MySQL数据库的连接用户名 public static final String DBUSER = "root" ; // MySQL数据库的连接密码 public static final String DBPASS = "aaaaaa" ; public static void main(String args[]) throws Exception { // 所有的异常抛出 Connection conn = null ; // 数据库连接 Statement stmt = null ; // 数据库操作 Class.forName(DBDRIVER) ; // 加载驱动程序 String sql = "DELETE FROM student" ; conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; stmt = conn.createStatement() ; // 实例化Statement对象 stmt.executeUpdate(sql) ; // 执行数据库更新操作 stmt.close() ; // 关闭操作 conn.close() ; // 数据库关闭 } };
成功删除