博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC的使用
阅读量:6084 次
发布时间:2019-06-20

本文共 3306 字,大约阅读时间需要 11 分钟。

JDBC原理
   JDBC定义了一组操作数据库的接口,不同的数据库厂商提供了JDBC接口的实现,这个实现称为JDBC驱动。这样就可以通过JDBC接口来对不同数据库获得统一的操作。
 
JDBC常用类
1. java.sql.DriverManager: 管理一组 JDBC 驱动程序的基本服务。
2. java.sql.Connection: 与特定数据库的连接(会话)。
3. java.sql.Statement: 用于执行静态 SQL 语句并返回它所生成结果的对象。
4. java.sql.ResultSet: 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
5. java.sql.PreparedStatement
6. java.sql.CallableStatement
 
JDBC操作数据库的一般步骤
//1:注册驱动类    

    Class.forName(
"com.mysql.jdbc.Driver");    

//2:创建数据库连接 

    Connection conn = DriverManager.getConnection(dburl, user, password);    

//3:创建执行SQL的对象 

    Statement stmt = conn.createStatement();    

//4:执行SQL,并获取返回结果 

    ResultSet rs = stmt.executeQuery(testsql);    

//5:处理返回结果,此处打印查询结果 

    
while (rs.next()) {    

         .... 

    }    

//6:关闭数据库连接 

    conn.close();
本人封装的简单JDBC工具类SqlBean
package can.javaBean; 

import java.sql.*; 


public 
class sqlBean { 

        
public    Connection conn = 
null

        
public    Statement stmt = 
null

        
public    ResultSet rs = 
null

         

        
public 
boolean connectDB(String DatabaseDriver, String url) {        

                conn = 
null

                 

                
//打开数据库连接 

                
try { 

                        Class.forName(DatabaseDriver);    

                        conn = DriverManager.getConnection(url); 

                        
return 
true;                        

                }
catch(ClassNotFoundException ex) { 

                        ex.printStackTrace(); 

                }
catch(SQLException ex) { 

                        ex.printStackTrace(); 

                } 

                
return 
false

        } 

         

        
public 
boolean closeConn() { 

                
//关闭数据库连接 

                
try

                        
if(stmt != 
null){ 

                                stmt.close(); 

                                stmt = 
null

                        } 

                         

                        
if(conn != 
null){ 

                                conn.close(); 

                                conn = 
null

                        } 

                        
return 
true

                }
catch(SQLException ex) { 

                        ex.printStackTrace(); 

                        
return 
false

                } 

        } 

         

        
public ResultSet execQuery(String sql) { 

                
//执行查询 

                rs = 
null

                
if (conn != 
null && sql != 
null) { 

                        
try

                                stmt = conn.createStatement(); 

                                rs = stmt.executeQuery(sql); 

                        }
catch(SQLException ex)        { 

                                ex.printStackTrace(); 

                        } 

                } 

                
return rs; 

        } 

         

        
public 
int execUpdate(String sql) { 

                
//执行更新或删除 

                
int rows = 0; 

                 

                
if (conn != 
null && sql != 
null){ 

                        
try

                                stmt = conn.createStatement(); 

                                rows = stmt.executeUpdate(sql); 

                        }
catch(SQLException ex)        { 

                                ex.printStackTrace(); 

                        } 

                } 

                
return rows; 

        } 

}

web.xml相应设置
<context-param>        

         <param-name>context/driver</param-name>        

         <param-value>com.mysql.jdbc.Driver</param-value> 

         <param-name>context/url</param-name> 

         <param-value><![CDATA[jdbc:mysql:
//localhost/teachingSystem?user=canny&password=123456&useUnicode=true&characterEncoding=GB2312]]></param-value> 

</context-param> 


servlet使用例子
doPost()
SqlBean sqlBean = 
new SqlBean(); 


String driver = getServletContext().getInitParameter(
"context/driver"); 

String url = getServletContext().getInitParameter(
"context/url"); 


if (sqlBean.connectDB(driver, url) != 
true) { 

        errorMsg = 
"数据库连接出错coon"

        writeMsg(response, errorMsg); 

        
return ; 



String sql = 
"select * from studentInfo where stu_no='" + infoStr[0]+ 
"'"

ResultSet rs = sqlBean.execQuery(sql); 

if (rs == 
null) { 

        errorMsg = 
"数据库连接出错rs"

        writeMsg(response, errorMsg); 

        
return ; 



try {
//catch rs.next()的exception 

        
if (rs.next()){    

                
//存在重复 

                errorMsg = 
"所输入的学号已经存在了"

                writeMsg(response, errorMsg); 

        }
else
//进行添加 

                sql = 
"insert into studentInfo values('" + infoStr[0] + 
"','" 

                     + infoStr[1] + 
"','" + infoStr[2] +
"','" + infoStr[3]+ 
"','" 

                     + infoStr[4] + 
"','" + infoStr[5] +
"','123456')"

         

                
int row = sqlBean.execUpdate(sql); 

                
if (row == 1) { 

                        errorMsg = 
"添加信息成功!"

                        onClickStr = 
"inputstudent.jsp"

                } 

                
else 

                        errorMsg = 
"添加信息失败"

                 

                writeMsg(response, errorMsg); 

        } 

}
catch(SQLException ex)  { 

        errorMsg = 
"数据库连接出错rs"

        writeMsg(response,errorMsg); 

}
finally  { 
sqlBean.closeConn();
 
}
本文转自 Icansoft 51CTO博客,原文链接: 
http://blog.51cto.com/android/110493

转载地址:http://bduwa.baihongyu.com/

你可能感兴趣的文章
iOS开发之BLE(一)——理论知识
查看>>
Sql 查询锁
查看>>
HTTP Protocol
查看>>
Codeforces 919E - Congruence Equation
查看>>
React Diff 算法
查看>>
返回上一页几种方法
查看>>
WPF 自定义ComboBox样式,自定义多选控件
查看>>
WPF 自定义MenuItem样式
查看>>
Numerical Geometry of Image
查看>>
1107 Social Clusters
查看>>
Python之路【第十八篇】:模块知识
查看>>
Frogger
查看>>
人机交互评价
查看>>
python发送邮件
查看>>
从页面上灵活增删改查
查看>>
SQL操作简单实现
查看>>
C# 只开启一个程序,如果第二次打开则自动将第一个程序显示到桌面
查看>>
java基础4
查看>>
patch 打补丁,和diff 生成制作补丁
查看>>
ios之UITextView
查看>>