Detailed explanation of the steps of JDBC connecting to the database

 

 Java Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
 

JDBC connection database   
• Create a program to connect to the database with JDBC, including 7 steps:   
 1. Load the JDBC driver:   
    Before connecting to the database, first load the driver of the database you want to connect to the JVM (Java Virtual Machine). The static method forName( String   className ) of the java.lang.Class class is implemented.   
    For example:   
        
try
        {
            
//Load the driver class of MySql
            Class.forName( "com.mysql.jdbc.Driver" ) ;
        }
        
catch (ClassNotFoundException e)
        {
            System.out.println(
"Could not find the driver class, failed to load the driver !" );
            e.printStackTrace() ;
        }
        After successful loading, the instance of the Driver class will be registered in the DriverManager class.   
 2. Provide the URL of JDBC connection   
    • The connection URL defines the protocol, sub-protocol, and data source identification when connecting to the database.   
    •Writing form: Protocol: Sub-Protocol: Data Source Identification   
    Protocol: Always start with jdbc in JDBC   
    Sub-Protocol: is the name of the bridge connection driver or database management system.   
    Data source identification: mark the address and connection port where the database source is found.   
    For example: (MySql connection URL)   
    jdbc:mysql:   
        
//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;   
   useUnicode=true: indicates the use of the Unicode character set. If characterEncoding is set to   
   gb2312 or GBK, this parameter must be set to true. characterEncoding=gbk: Character encoding method.   
 3. Create a database connection   
    • To connect to a database, you need to request and obtain a Connection object from java.sql.DriverManager, which represents a database connection.   
    • Use DriverManager's getConnectin(
String  url ,  String  username ,  String  password ) method to obtain by passing in the specified path of the database to be connected, the username and password of the database.   
     For example:   
        
//Connect to MySql database, username and password are both root   
String           url =  "jdbc:mysql://localhost:3306/test"  ;
        
String  username =  "root"  ;
        
String  password =  "root"  ;
        
try
        {
            Connection con =
                DriverManager.getConnection(url , username , password ) ;
        }
        
catch (SQLException se)
        {
            System.out.println(
"Database connection failed!" );
            se.printStackTrace() ;
        }
 4. Create a Statement   
    • To execute a SQL statement, you must obtain an instance of java.sql.Statement, which is divided into the following 3 Types:   
      1. Execute static SQL statements. Usually implemented through a Statement instance.   
      2. Execute dynamic SQL statements. Usually implemented through a PreparedStatement instance.   
      3. Execute the database stored procedure. Usually implemented through a CallableStatement instance.   
        Specific implementation:   
        Statement stmt = con.createStatement() ;
        PreparedStatement pstmt = con.prepareStatement(sql) ;
        CallableStatement cstmt = con.prepareCall(
"{CALL demoSp(? , ?)}" ) ;  
 5. Execute SQL statement   
    Statement The interface provides three methods for executing SQL statements: executeQuery, executeUpdate and execute   
     1. ResultSet executeQuery(
String  sqlString): Execute the SQL statement querying the database and return a result set (ResultSet) object.   
     2. int executeUpdate(
String  sqlString): used to execute INSERT, UPDATE or DELETE statements and SQL DDL statements, such as: CREATE TABLE and DROP TABLE, etc.   
     3. execute(sqlString): used to execute multiple result sets, multiple updates count or a combination of both   
        语句。   
        具体实现的代码:   
        ResultSet rs = stmt.executeQuery(
"SELECT * FROM ..." ) ;
        
int  rows = stmt.executeUpdate( "INSERT INTO ..." ) ;
        
boolean  flag = stmt.execute( String  sql) ; 
 6、处理结果   
    两种情况:   
     1、执行更新返回的是本次操作影响到的记录数。   
     2、执行查询返回的结果是一个ResultSet对象。   
    • ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。   
    • 使用结果集(ResultSet)对象的访问方法获取数据:   
        
while (rs.next())
        {
            
String  name = rs.getString( "name" ) ;
            
String  pass = rs.getString( 1 ) ;  // 此方法比较高效
        }
        (列是从左到右编号的,并且从列1开始)   
 7、关闭JDBC对象    
     操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声   
     明顺序相反:   
     1、关闭记录集   
     2、关闭声明   
     3、关闭连接对象   
        
if (rs != null)     // 关闭记录集
        {
            
try
            {
                rs.close() ;
            }
            
catch (SQLException e)
            {
                e.printStackTrace() ;
            }
        }
        
if (stmt != null)     // 关闭声明
        {
            
try
            {
                stmt.close() ;
            }
            
catch (SQLException e)
            {
                e.printStackTrace() ;
            }
        }
        
if (conn != null)    // 关闭连接对象
        {
            
try
            {
                conn.close() ;
            }
            
catch (SQLException e)
            {
                e.printStackTrace() ;
            }
        }

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326644960&siteId=291194637