JDBC小应用
部分摘錄于《Servlet與jsp核心技術》
查詢數據庫的過程一共有7個標準步驟
(1)載入JDBC驅動程序
(2)定義連接URL
(3)建立連接
(4)創建語句對象
(5)執行查詢或更新
(6)處理結果
(7)關閉連接
一:載入驅動程序
驅動程序是一種軟件,它了解怎么樣和實際的數據庫服務器交談.想要載入驅動程序,需要做的就是在如適當的類.可以使用Class.forName,這樣可以在不產生類的實例的情況下載入類,Class.forName("xxx");可以用字符串代表合格的類.
Class.forName("com.mysql.jdbc.Driver"); 二:定義連接URL
載入JDBC驅動程序后就需要指定數據庫服務器的位置
String url = "jdbc:mysql://localhost/test?" + "user=root&password="; 引用數據庫的URL使用jdbc:協議在URL中內嵌了服務器主機,端口,和數據庫名稱
三:建立連接
Connection connection = DriverManager.getConnection(url); 四:創建語句
Statement對象用來查詢和命令發送給數據庫
Statement statement = connection.createStatement(); 五:執行查詢
有了Statement對象后就可以通過它來發送SQL查詢,
String query = "select * from test"; ResultSet resultSet = statement.executeQuery(query); 六:處理結果
得到resultSet后通過next方法,移動。
PrintWriter out = resp.getWriter(); while (resultSet.next()) {out.println(resultSet.getString("name")); }
七,關閉連接
connection.close();
八:一個查詢用戶名字的小應用
import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class Jdbc extends HttpServlet {private static final long serialVersionUID = -796299023705698108L;private Connection connection;private Statement statement;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {try {Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost/test?" + "user=root&password=";connection = DriverManager.getConnection(url);statement = connection.createStatement();String query = "select * from test";ResultSet resultSet = statement.executeQuery(query);PrintWriter out = resp.getWriter();while (resultSet.next()) {out.println(resultSet.getString("name"));}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} finally {try {if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (SQLException e) {e.printStackTrace();}}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {doGet(req, resp);}}
源碼地址http://www.oschina.net/code/snippet_778987_18528
轉載于:https://my.oschina.net/liangzhenghui/blog/109648
總結
- 上一篇: 单独组件_阿里P8年薪百万大牛-教你打造
- 下一篇: 线程应用