前面详细写过如何连接数据库的具体操作,下面介绍向数据库中添加数据。
注意事项:如果参考下面代码,需要
改包名,数据库名,数据库账号,密码,和数据表(数据表里面的信息)
1 packagecom.ningmeng;2
3 import java.sql.*;4
5 /**
6 * 1:向数据库中添加数据7 *@authorbiexiansheng8 *9 */
10 public classTest01 {11
12 public static voidmain(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 packagecom.ningmeng;2
3 import java.sql.*;4
5 /**
6 * 1:使用PreparedStatement接口来执行插入语句7 *8 *@authorbiexiansheng9 *10 */
11 public classTest02 {12
13 public static voidmain(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)
其他的都类似,不作多叙述
原文:http://www.cnblogs.com/biehongli/p/5988246.html