JDBC连接-插入操作-带注释

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 {
                 //步骤1:注册驱动
            Class.forName("com.mysql.jdbc.Driver");
             //步骤2:连接数据库
            conn = DriverManager.getConnection(DB_URL,USER,PWD);
            //DriverManager类 管理一组 JDBC 驱动程序的基本服务  getConnection()试图建立到给定数据库 URL 的连接。
            //步骤3:创建执行SQL的语句
            String sql = "insert into user " + "values('" + username + "','" + password + "')"; 
            System.out.println(sql);
            stmt = conn.createStatement();
        /* createStatement,创建一个 Statement 对象,不带参数的 SQL 语句通常使用 Statement 对象执行。
             * 如果多次执行相同的 SQL 语句,使用 PreparedStatement对象可能更有效。
             * 这里也可以创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
             * 带有 IN 参数或不带有 IN 参数的 SQL 语句都可以被预编译并存储在 PreparedStatement 对象中。
             * 然后可以有效地使用此对象来多次执行该语句。
             */
             //步骤4:执行SQL语句
            stmt.executeUpdate(sql);
               /*
                *执行给定 SQL 语句,该语句可能为 INSERT、 UPDATE 或 DELETE 语句
                *查询操作该用executeQuery,该语句返回单个 ResultSet 对象,可以用此对象进行遍历查询结果
                */
                //步骤5: 处理结果,select操作返回数据处理
            System.out.println("插入语句操作。。");

        } catch(Exception e){
              e.printStackTrace();
           }finally{ 
            //步骤6:释放资源
              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表(插入数据的表)

插入数据查询

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值