分别使用PreparedStatement和Statement对mysql数据库进行创建表,增加数据,查询数据和删除数据过程
2017-11-11 16:36
1016 查看
在使用eclipse工具编写Java代码连接数据库并对数据库进行处理时,总会用到对数据的增删改查操作。那么这个
时候就用到了java自带的sql库中的PreparedStatement或者Statement了。
其实PreparedStatement和Statement使用起来很相似,我认为二者之间的不同点也就是PreparedStatements可以
对数据进行批处理(使用addBatch()方法),而Statement只能对单个数据进行处理。
我将两种写法都写到同一个类中通过主函数调用的方法实现,具体代码如下(完整代码,经测试):
执行结果分别为:
(1)、process1:
process1
成功连接数据库
第一次查询表内容(删除前)
1 张三
2 李四
3 王五
第二次查询表内容(删除后)
1 张三
3 王五
(2)、process2:
process2
成功连接数据库
第一次查询表内容(删除前)
1 张三
2 李四
3 王五
第二次查询表内容(删除后)
1 张三
3 王五
时候就用到了java自带的sql库中的PreparedStatement或者Statement了。
其实PreparedStatement和Statement使用起来很相似,我认为二者之间的不同点也就是PreparedStatements可以
对数据进行批处理(使用addBatch()方法),而Statement只能对单个数据进行处理。
我将两种写法都写到同一个类中通过主函数调用的方法实现,具体代码如下(完整代码,经测试):
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class PutinStorage { //使用PreparedStatement对mysql数据库进行创建表,增加数据,查询数据和删除数据过程 public static void process1(){ System.out.println("process1"); String sql_url = "jdbc:mysql://localhost:3306/test"; //数据库路径(一般都是这样写),test是数据库名称 String name = "root"; //用户名 String password = "123456"; //密码 Connection conn; PreparedStatement preparedStatement = null; try { Class.forName("com.mysql.jdbc.Driver"); //连接驱动 conn = DriverManager.getConnection(sql_url, name, password); //连接数据库 if(!conn.isClosed()) System.out.println("成功连接数据库"); //新建表 String sql = "create table aa(id int,name text)"; preparedStatement = conn.prepareStatement(sql); preparedStatement.executeUpdate(); //在表中添加内容 // preparedStatement.executeUpdate("insert into aa values(4,'amy')"); preparedStatement = conn.prepareStatement("insert into aa values(1,'张三')"); preparedStatement.executeUpdate(); preparedStatement = conn.prepareStatement("insert into aa values(2,'李四')"); preparedStatement.executeUpdate(); preparedStatement = conn.prepareStatement("insert into aa values(3,'王五')"); preparedStatement.executeUpdate(); //查询表内容 System.out.println("第一次查询表内容(删除前)"); preparedStatement = conn.prepareStatement("select * from aa"); ResultSet result1 = preparedStatement.executeQuery(); while(result1.next()) System.out.println(result1.getInt("id")+"\t"+result1.getString("name")); //删除表中数据 preparedStatement = conn.prepareStatement("delete from aa where id = 2"); preparedStatement.executeUpdate(); //查询表中内容 System.out.println("第二次查询表内容(删除后)"); preparedStatement = conn.prepareStatement("select * from aa"); ResultSet result2 = preparedStatement.executeQuery(); while(result2.next()) System.out.println(result2.getInt("id")+"\t"+result2.getString("name")); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block System.out.println("未成功加载驱动。"); e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block System.out.println("未成功打开数据库。"); e.printStackTrace(); } } //使用Statement对mysql数据库进行创建表,增加数据,查询数据和删除数据过程 public static void process2(){ System.out.println("process2"); String sql_url = "jdbc:mysql://localhost:3306/test"; //数据库路径(一般都是这样写),test是数据库名称 String name = "root"; //用户名 String password = "123456"; //密码 Connection conn; Statement statement = null; try { Class.forName("com.mysql.jdbc.Driver"); //连接驱动 conn = DriverManager.getConnection(sql_url, name, password); //连接数据库 if(!conn.isClosed()) System.out.println("成功连接数据库"); statement = conn.createStatement(); //新建表 String sql = "create table bb(id int,name text)"; statement.executeUpdate(sql); //在表中添加内容 statement.executeUpdate("insert into bb values(1,'张三')"); statement.executeUpdate("insert into bb values(2,'李四')"); statement.executeUpdate("insert into bb values(3,'王五')"); //查询表内容 System.out.println("第一次查询表内容(删除前)"); ResultSet result1 = statement.executeQuery("select * from bb"); while(result1.next()) System.out.println(result1.getInt("id")+"\t"+result1.getString("name")); //删除表中数据 statement.executeUpdate("delete from bb where id = 2"); //查询表内容 System.out.println("第二次查询表内容(删除后)"); ResultSet result2 = statement.executeQuery("select * from bb"); while(result2.next()) System.out.println(result2.getInt("id")+"\t"+result2.getString("name")); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block System.out.println("未成功加载驱动。"); e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block System.out.println("未成功打开数据库。"); e.printStackTrace(); } } public static void main(String[] args){ process1(); // process2(); } }其中使用PreparedStatement时的preparedStatement.executeUpdate("insert into aa values(4,'amy')");语句与
preparedStatement = conn.prepareStatement("insert into aa values(1,'张三')"); preparedStatement.executeUpdate();所表达的含义相同。
执行结果分别为:
(1)、process1:
process1
成功连接数据库
第一次查询表内容(删除前)
1 张三
2 李四
3 王五
第二次查询表内容(删除后)
1 张三
3 王五
(2)、process2:
process2
成功连接数据库
第一次查询表内容(删除前)
1 张三
2 李四
3 王五
第二次查询表内容(删除后)
1 张三
3 王五
相关文章推荐
- JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPQL进行查询
- 使用java连接mysql数据库进行数据的查询插入更新及删除
- python使用sqlalchemy中间件对MYSQL数据库进行创建、查询、删除操作
- JPA数据的操作:增加,删除,修改,获取,使用JPOL进行查询
- C#使用XmlDocument操作XML进行查询、增加、修改、删除、保存应用的实例(转载)
- 使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据
- JAVA+JDBC对数据库的数据进行增加、修改、删除、查询等操作
- C#使用linq to xml完成对XML文件的创建、增加、删除、修改、查询
- C#使用XmlDocument操作XML进行查询、增加、修改、删除、保存应用的实例
- 【Node.js-7】MySQL数据库的简单使用、增加和查询数据
- C#使用XmlDocument操作XML进行查询、增加、修改、删除、保存应用的实例
- 转载:SQL through PowerShell 使用Powershell访问SQL并对数据进行读写增加删除操作
- Python创建、删除、查询vsftpd的虚拟用户(虚拟用户使用MySQL数据库)
- 使用c#进行数据库的查看增加修改删除数据
- SQL SERVER 使用存储过程创建、删除用户定义数据类型
- C#使用XmlDocument操作XML进行查询、增加、修改、删除、保存应用的实例(转载)
- SQL如何进行增加、删除、改写、查询等数据操作
- C#使用XmlDocument操作XML进行查询、增加、修改、删除、保存应用的实例
- mysql创建数据库,创建数据库表导入xlsx、txt文本,查询、删除、插入数据语句的使用
- 如何使用10M的内存读入100M的文件,并且保证在读取过程中可进行删除、修改和增加内容