频道栏目
首页 > 资讯 > 其他综合 > 正文

JDBC连接插入操作步骤及原理讲解

17-12-02        来源:[db:作者]  
收藏   我要投稿

JDBC在做项目初期连接数据库常用到,如果不把步骤和原理弄懂,在接触mybatis或者hibernate框架操作数据库时会对其操作原理十分懵。

主要原因是:不弄懂步骤老是写jdbc时便要网上查步骤,这就很烦。

于是笔者便查API文档把它注释了一下,方便大家理解流程,做了一个插入数据的例子(在javaweb中表单上获取数据插入数据库,用的是servlet的doGet()方法)

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.sql.*;

public class FirstServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String username = request.getParameter("username");
        String password = request.getParameter("password");
              //**只要jdbc连接操作的看下面代码就行**
        final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
        final String DB_URL = "jdbc:mysql://localhost:3306/sqldb";
        //'sqldb'这个参数 为你所要连接的数据库名,这4个final String是连接你的数据库所需参数
        final String USER = "root";
        final String PWD = "";
        Connection conn = null;
        //Connection接口 -与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
        Statement stmt = null;
        //接口 Statement-用于执行静态 SQL 语句并返回它所生成结果的对象。
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(DB_URL,USER,PWD);
            //DriverManager类 管理一组 JDBC 驱动程序的基本服务  getConnection()试图建立到给定数据库 URL 的连接。
            String sql = "insert into user " + "values('" + username + "','" + password + "')"; //输入自己的sql语句
            System.out.println(sql);
            stmt = conn.createStatement();
        /* createStatement,创建一个 Statement 对象,不带参数的 SQL 语句通常使用 Statement 对象执行。
             * 如果多次执行相同的 SQL 语句,使用 PreparedStatement对象可能更有效。
             * 这里也可以创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
             * 带有 IN 参数或不带有 IN 参数的 SQL 语句都可以被预编译并存储在 PreparedStatement 对象中。
             * 然后可以有效地使用此对象来多次执行该语句。
             */
            stmt.executeUpdate(sql);
               /*
                *执行给定 SQL 语句,该语句可能为 INSERT、 UPDATE 或 DELETE 语句
                *查询操作该用executeQuery,该语句返回单个 ResultSet 对象,可以用此对象进行遍历查询结果
                */
            System.out.println("插入语句操作。。");

        } catch(Exception e){
              e.printStackTrace();
           }finally{ //关闭资源
              try{
                 if(stmt!=null)
                    stmt.close();
              }catch(SQLException se2){
              try{
                 if(conn!=null)
                    conn.close();
              }catch(SQLException se){
                 se.printStackTrace();
              }
           }
           }
    }
}

说明;我在表单中传的数据为username=xc ,password=123

form表单代码:

<form action="../FirstServlet" method="get">
用户名:<input type="text" name="username"> <br>
密码:<input type="password" name="password"><br>
<input type="submit" name="登录">
</form>

数据库中查询user表(插入数据的表)

插入数据查询

相关TAG标签
上一篇:绘制饼图之Spotfire限制/排除数据(limitdata)
下一篇:Hadoop心跳机制、HDFS安全模式及副本存放策略讲解
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站