Java更新数据库

Java更新数据库教程

我们这边讲的更新是指数据库里面的数据有变化,那么怎么样属于有变化呢?就是有增加、修改、删除。Java 语言对数据库操作需要借住于 Statement 类。

它有 Connection 连接类创建。通过 Statement 里面的方法,可以对数据库进行简单的操作。

案例

新增数据

import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class MysqlTest { public static final String DBDRIVER = "com.mysql.jdbc.Driver"; public static final String DBURL = "jdbc:mysql://localhost:3306/haicoder"; public static final String DBUSER = "root"; public static final String PASSWORD = "123456"; public static void main(String[] args) throws Exception { System.out.println("嗨客网(www.haicoder.net)"); Connection connection = null; //加载驱动 Class.forName(DBDRIVER); //创建连接 connection = DriverManager.getConnection(DBURL, DBUSER, PASSWORD); //创建 statement 对象 Statement statement = connection.createStatement(); String sql = "insert into person (username,age) values (\"嗨客网\",100)"; //执行sql statement.execute(sql); //关闭操作 statement.close(); //关闭数据库连接 connection.close(); System.out.println("结束"); } }

运行结果如下:

08 insert 执行.png

执行完代码之后,我们可以查询数据库,看到里面添加了一条记录。和我们在 mysql 客户端写 sql 执行效果一样。

我们看到代码里面有两个关闭,一个是操作关闭,一个是连接关闭。一般的情况下,只要连接关闭,其他的所有操作都会关闭,但是 JDBC 代码里面有一个习惯,就是按照顺序关闭,先打开后关闭。

修改数据

import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class MysqlTest { public static final String DBDRIVER = "com.mysql.jdbc.Driver"; public static final String DBURL = "jdbc:mysql://localhost:3306/haicoder"; public static final String DBUSER = "root"; public static final String PASSWORD = "123456"; public static void main(String[] args) throws Exception { System.out.println("嗨客网(www.haicoder.net)"); Connection connection = null; //加载驱动 Class.forName(DBDRIVER); //创建连接 connection = DriverManager.getConnection(DBURL, DBUSER, PASSWORD); //创建 statement 对象 Statement statement = connection.createStatement(); String sql = "update person set age = 200 where username = '嗨客网'"; //执行sql statement.execute(sql); //关闭操作 statement.close(); //关闭数据库连接 connection.close(); System.out.println("结束"); } }

运行结果如下:

09 update.png

和 insert 语句一样,就是 sql 语句变化了。sql 语句和我们在 mysql 客户端操作的 sql 一样。

删除数据

通过前两个例子,我们就可以知道,其实基本上代码都一样,就一个 sql 语句不同。

import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class MysqlTest { public static final String DBDRIVER = "com.mysql.jdbc.Driver"; public static final String DBURL = "jdbc:mysql://localhost:3306/haicoder"; public static final String DBUSER = "root"; public static final String PASSWORD = "123456"; public static void main(String[] args) throws Exception { System.out.println("嗨客网(www.haicoder.net)"); Connection connection = null; //加载驱动 Class.forName(DBDRIVER); //创建连接 connection = DriverManager.getConnection(DBURL, DBUSER, PASSWORD); //创建 statement 对象 Statement statement = connection.createStatement(); String sql = "delete from person where username = '嗨客网'"; //执行sql statement.execute(sql); //关闭操作 statement.close(); //关闭数据库连接 connection.close(); System.out.println("结束"); } }

运行结果如下

10 delete.png

和我们猜想的一样,我们看到数据库里面的数据被删掉了。

Java更新数据库总结

通过上面的例子我们看到,大多数代码都是一样的,就只有 sql 语句不同。我们需要记住数据库操作的几个步骤:加载驱动,打开链接,进行操作和关闭连接。

这个是万年不变的,缺少任意一步系统将会出现问题,甚至不能对数据库进行操作。