前面详细写过如何连接数据库的具体操作,下面介绍向数据库中添加数据。
注意事项:如果参考下面代码,需要
改包名,数据库名,数据库账号,密码,和数据表(数据表里面的信息)
1 package com.ningmeng; 2 3 import java.sql.*; 4 5 /** 6 * 1:向数据库中添加数据 7 * @author biexiansheng 8 * 9 */ 10 public class Test01 { 11 12 public static void main(String[] args) { 13 try { 14 Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动 15 System.out.println("加载数据库驱动成功"); 16 String url="jdbc:mysql://localhost:3306/test";//声明数据库test的url 17 String user="root";//数据库的用户名 18 String password="123456";//数据库的密码 19 //建立数据库连接,获得连接对象conn(抛出异常即可) 20 Connection conn=DriverManager.getConnection(url, user, password); 21 System.out.println("连接数据库成功"); 22 //生成一条mysql语句 23 String sql="insert into users(username,password,age,sex) values(‘小别‘,‘123456‘,22,0)"; 24 Statement stmt=conn.createStatement();//创建一个Statement对象 25 stmt.executeUpdate(sql);//执行sql语句 26 System.out.println("插入到数据库成功"); 27 conn.close(); 28 System.out.println("关闭数据库成功"); 29 } catch (ClassNotFoundException e) { 30 // TODO Auto-generated catch block 31 e.printStackTrace(); 32 }// 33 catch (SQLException e) { 34 // TODO Auto-generated catch block 35 e.printStackTrace(); 36 } 37 38 } 39 40 }
详细运行结果
这样就可以完美插入数据,增删改查第一步完美解决。
简单介绍一下所使用的知识点:
在java程序中一旦建立了数据库的连接,就可以使用Connection接口的createStatement()方法来获得statement对象
然后通过excuteUpdate()方法来执行sql语句,就可以向数据库中添加数据了。
1:createStatement()方法是Connection接口的方法,用来创建Statement对象
2:Connection接口代表和特定的数据库连接,要对数据库中数据表的数据进行操作,首先要获取数据库连接。
3:Statement接口用于创建向数据库中传递SQL语句的对象,该接口提供了一些方法可以实现对数据库的常用操作。
4:Statement接口中的excuteUpdate()方法执行给定的SQL语句,该语句可以是INSERT,UPDATE,DELETE语句。
第二种方法
使用PreparedStatement接口向mysql数据库中插入数据
1 package com.ningmeng; 2 3 import java.sql.*; 4 5 /** 6 * 1:使用PreparedStatement接口来执行插入语句 7 * 8 * @author biexiansheng 9 * 10 */ 11 public class Test02 { 12 13 public static void main(String[] args) { 14 // TODO Auto-generated method stub 15 try { 16 Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动 17 System.out.println("加载数据库驱动成功"); 18 String url="jdbc:mysql://localhost:3306/test";//声明数据库test的url 19 String user="root";//数据库用户名 20 String password="123456";//数据库密码 21 //建立数据库连接,获得连接对象conn 22 Connection conn=DriverManager.getConnection(url, user, password); 23 System.out.println("连接数据库驱动成功"); 24 //生成一条SQL语句 25 String sql="insert into users(username,password,age,sex) values(?,?,?,?)"; 26 PreparedStatement ps=conn.prepareStatement(sql);//创建一个Statement对象 27 ps.setNString(1,"lisi");//为sql语句中第一个问号赋值 28 ps.setString(2,"123456");//为sql语句中第二个问号赋值 29 ps.setInt(3,24);//为sql语句第三个问号赋值 30 ps.setInt(4,2);//为sql语句的第四个问号赋值 31 ps.executeUpdate();//执行sql语句 32 conn.close();//关闭数据库连接对象 33 System.out.println("关闭数据库连接对象"); 34 } catch (ClassNotFoundException e) { 35 // TODO Auto-generated catch block 36 e.printStackTrace(); 37 } catch (SQLException e) { 38 // TODO Auto-generated catch block 39 e.printStackTrace(); 40 } 41 42 43 } 44 45 }
由于刚才不小心多执行了一遍第一个程序,所以多了一行id==7的,特此注释一下
1:PreparedStatement接口继承Statement,用于执行动态的SQL语句,通过PreparedStatement实例执行SQL语句,将被预编译并且保存到PreparedStatement实例中,从而可以反复的执行该SQL语句。
2:PreparementStatement接口中的方法,如executeUpdate在此PrepareStatement对象中执行sql语句,该sql语句必须是一个INSERT.UPDATE,DELETE语句,或者是没有返回值的DDL语句。
3:setString(int pIndex,String str)将参数pIndex位置上设置为给定的String类型的参数,俗语就是在第几个位置写上符合的数据类型
setInt(int pIndex,int x)
其他的都类似,不作多叙述