上节已经学会对MySQL进行简单的增删改查了,那么,我们如何实现用Java来对数据库操作增删改呢。
本节将用Java演示对MySQL进行增删改查。
简单的来说,分为4个步骤:
1、加载连接器(驱动) 通过Driver类 (最好用类反射来加载,更加灵活)
2、建立与数据库的连接
3、获取语句对象
4、对数据库进行操作(增删改查)
其实第一步现在可以不用写了,高版本的MySQL已经在内部帮我们写好了第一步,但是,为了兼容性更好(兼容低版本的MySQL)我们最好还是写上第一步。
我们先看一下原数据库表:
用Java对数据库进行增删改:
1.package cn.hncu.sqlHello;
2.
3.import java.sql.Connection;
4.import java.sql.DriverManager;
5.import java.sql.SQLException;
6.import java.sql.Statement;
7.
8.import org.junit.Test;
9.
10. //import com.mysql.jdbc.Driver;
11.
12.public class dbAccess {
13.
14. @Test
15. public void hello() throws ClassNotFoundException, SQLException {
16. //1、加载连接器(驱动) Driver
17. Class.forName("com.mysql.jdbc.Driver");
18. //用类反射加载,更灵活
19.
20. //2、建立连接
21. //String url = "jdbc:mysql://127.0.0.1:3306/hncu";//这一句是采用默认编码
22. String url = "jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&characterEncoding=utf-8";//采用指定编码连接
23.
24. Connection con = DriverManager.getConnection(url, "root", "1234");
25. //这3个参数是:连接串、用户名、密码
26.
27. //3、获取语句对象
28. Statement st = con.createStatement();
29. //对表格hncu增加一行数据
30.
31. ////4 对数据库进行操作(增删改)
32. String sql = "insert into stud values('1010','杨过',26,'武侠')";
33. //String sql = "insert into stud values('1010','杨过',26,'武侠');";//sql语句加上分号也是一样的。
34. //但是注意!!!不能一次添加多条语句运行!(中间用分号隔也不行)
35. st.execute(sql);//增删改用:st.excute()方法
36. }
37. }
38.
如果要运行多条语句怎么办,那就像这样的,运行多次第4步,可以达到相同的效果:
例:
sql = "insert into stud values('1011','杨过1',26,'武侠');";
st.execute(sql);
sql = "insert into stud values('1011','杨过1',26,'武侠');";
st.execute(sql);
运行之后的stud表:
删除和修改也是和增加一样的,只要把sql那个字符串换一下就可以了(sql那个字符串为SQL操作语句)。
查询有所不同!
Java查询SQL数据库语句代码如下:
1. package cn.hncu.sqlHello;
2.
3. import java.sql.Connection;
4. import java.sql.DriverManager;
5. import java.sql.ResultSet;
6. import java.sql.SQLException;
7. import java.sql.Statement;
8.
9. import org.junit.Test;
10.
11. //import com.mysql.jdbc.Driver;
12.
13. public class dbAccess {
14.
15. @Test
16. public void hello() throws ClassNotFoundException, SQLException {
17. //1、加载连接器(驱动) Driver
18. Class.forName("com.mysql.jdbc.Driver");
19. //用类反射加载,更灵活
20.
21. //2、建立连接
22. //String url = "jdbc:mysql://127.0.0.1:3306/hncu";//这一句是采用默认编码
23. String url = "jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&characterEncoding=utf-8";//采用指定编码连接
24.
25. Connection con = DriverManager.getConnection(url, "root", "1234");
26. //这3个参数是:连接串、用户名、密码
27.
28. //3、获取语句对象
29. Statement st = con.createStatement();
30. //对表格hncu增加一行数据
31.
32. //4 对数据库进行操作(查询)
33. String sql = "select * from stud where sname like '%三%' or sname like '%四%';";
34. ResultSet rs = st.executeQuery(sql);
35. while(rs.next()){
36. //为什么不用hasNext呢,因为rs就像一个指针,rs最开始的位置并不是指向第一个数据,
37. //而是指向开头地址,所以不能用hasNext来判断,而必须跳过第一个不读.
38. String sno = rs.getString(1);//指定列号的方式读取。第一列的序号为1。
39.
40. String sname = rs.getString("sname");//指定列名的方式来读取
41. int age = rs.getInt("age");
42. String saddress = rs.getString(4);
43. System.out.println(sno+","+sname+","+age+","+saddress);
44. }
45. }
46. }
此处是查询sname带有三,或者带有四的数据。
其他的都是这样,改掉sql语句就可以进行对应的增删改查了!
---------------------
作者:谙忆
来源:CSDN
原文:https://blog.csdn.net/qq_26525215/article/details/52134644
版权声明:本文为博主原创文章,转载请附上博文链接!