目录

Java如何获取数据库中的数据案例

Java如何获取数据库中的数据·案例

Java如何获取数据库中的数据·案例

步骤简介:

加载驱动:

加载jdbc的驱动类Class.forName(“com.mysql.jdbc.Driver”)到jvm中。

建立连接:

使用DriverManager.getConnection(sql_url,username,pwd)方法返回一个Connection对象。

预编译sql语句:

通过Connection.prepareStatement(sql)方法,将sql语句进行预编译,返回一个PrepareStatement对象,该PrepareStatement对象能将参数化的 SQL 语句发送到数据库。

执行sql语句:

执行preparedStatement.executeQuery(sql);方法返回一个ResultSet类的对象,ResultSet类的对象中的内容是数据库中“查询到”的内容;(除了查询方法之外,也可以有增删改查)

https://img-blog.csdn.net/20170924231044480?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjM1OTE3Njc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

获取数据库中的数据并任意操作:

通过ResultSet的next()方法,逐行读取数据库中的信息;可以将读取到的信息赋值给其他变量等供它用;

步骤图示:

https://img-blog.csdn.net/20170924231141750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjM1OTE3Njc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

代码show

1. import java.sql.Connection;

2. import java.sql.DriverManager;

3. import java.sql.PreparedStatement;

4. import java.sql.ResultSet;

5. import java.sql.SQLException;

6.

7.

/**

8.

* @author Administrator

9.

*

链接数据库,在这个

java

类中使用的是

JDBC

技术链接的数据库,

10.

*

这技术需要一类三接口

11.

*DriverManager

类,

12.

*Connection

接口,

java.sql.Connection

13.

*Statement

接口

,java.sql.Statement;

14.

*ResultSet

接口

,java.sql.ResultSet;

15.

*/

16. **public

class** GetSQLData {

17. **public

static

void** main(String[] args) {

18.

//

创建三个接口的对象

19. Connection connection = null ;

20. PreparedStatement preparedStatement = null ;

21. ResultSet resultSet = null ;

22.

//

获取驱动类

23. try {

24. Class.forName( “com.mysql.jdbc.Driver” ); //

要确保已经导入了

‘mysql-connector-java-5.1.29.jar’(

最后的版本号可以随意)

25.

//com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();

番外小知识:该句与上一句的功能是一样,都是将

Driver

类加载到

26.

//jvm

中,并且该

Driver

类是经过初始化了的;(一个初始化了的

Driver

类被加载到

jvm

中,则就是该

Driver

完成了在

jvm

中的

注册

;

如果仅仅是

27.

//

语句

com.mysql.jdbc.Driver driver = null;

就不行,因为虽然加载了,但是没有初始化;

28. } catch (ClassNotFoundException e) {

29. System.out.println( "

获取驱动类失败

" );

30. e.printStackTrace();

31. }

32.

33.

//

连接数据库:使用

java.sql.DriverManager

getConnection

方法以数据库

url

加上数据库的

username

password

做参数;

34. try {

35. connection = DriverManager.getConnection( “jdbc:mysql://localhost:3306/news” , “root” , “yujiawen” );

36. } catch (SQLException e) {

37. System.out.println( "

连接数据库失败

" );

38. e.printStackTrace();

39. }

40.

41. String sql = “select * from title” ;

42. try {

43. preparedStatement = connection.prepareStatement(sql);

44. } catch (SQLException e) {

45.

// TODO Auto-generated catch block

46. e.printStackTrace();

47. }

48.

49. try {

50. resultSet = preparedStatement.executeQuery(sql);

51. } catch (SQLException e) {

52.

// TODO Auto-generated catch block

53. e.printStackTrace();

54. }

55.

56. try {

57. while (resultSet.next()) //ResultSet

对象具有指向其当前数据行的光标。

58.

//

最初,光标被置于第一行之前。

next

方法将光标移动到下一行;因为该方法在

ResultSet

对象没有下一行时返回

false

59.

//

所以可以在

while

循环中使用它来迭代结果集。

60. {

61. int id = resultSet.getInt( “id” );

62. String name = resultSet.getString( “name” );

63. String creator = resultSet.getString( “creator” );

64. System.out.println( “id:” +id+ " name:" +name+ " creator:" +creator);

65. }

66. } catch (SQLException e) {

67.

// TODO Auto-generated catch block

68. e.printStackTrace();

69. }

70.

71.

72.

//

关闭三个接口的对象

73. if (resultSet!= null )

74. {

75. try {

76. resultSet.close();

77. } catch (SQLException e) {

78.

// TODO Auto-generated catch block

79. e.printStackTrace();

80. }

81. }

82. if (preparedStatement!= null )

83. {

84. try {

85. preparedStatement.close();

86. } catch (SQLException e) {

87.

// TODO Auto-generated catch block

88. e.printStackTrace();

89. }

90. }

91. if (connection!= null )

92. {

93. try {

94. connection.close();

95. } catch (SQLException e) {

96.

// TODO Auto-generated catch block

97. e.printStackTrace();

98. }

99. }

100. }

101. }

运行结果:

https://img-blog.csdn.net/20170924231304216?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjM1OTE3Njc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

附:数据库中的数据:

https://img-blog.csdn.net/20170924231326872?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjM1OTE3Njc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center