更多免费教学文章请关注这里

//package com.neusoft.demo27;
//
//import java.sql.Connection;
//import java.sql.DriverManager;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//import java.sql.Statement;
//import java.util.ArrayList;
//import java.util.List;
//
//
///**
// * JDBC:它是连接数据库的一种技术(持久层的技术) 文档中会提供相应的API 1.DriverManager:驱动管理器 需要调用 public
// * static Connection getConnection(String url, String user, String password)
// * throws SQLException 来连接数据库 2.Connection接口:使用连接数据库的接口
// * 3.Statement接口用于执行静态的SQL语句 4.ResultSet接口结果集:用于保存查询到的结果
// *
// * 优点:速度快
// *
// * 缺点:
// * 1.JDBC不是完全面向对象编程的,它是面向关系型数据库来编程的。
// * 2.代码的重复性的操作太多
// *
// *
// * JDBC如何设置对事物的提交方式:
// * void setAutoCommit(boolean autoCommit) 将此连接的自动提交模式设置为给定状态。
// * 参数autoCommit:true启动自动提交模式       false禁用自动提交
// * 如果setAutoCommit(false)  在DML操作的时候一定要调用Connection接口中的commit()方法来提交事物
// *
// * 注意:JDBC中事物的提交方式默认为:setAutoCommit(true)
// * @author ttc
// */
//public class JDBCDemo {//  Connection conn;
//  PreparedStatement pstmt;
//  ResultSet rs;
//  /**
//   * 1.连接数据库
//   *
//   * @throws ClassNotFoundException
//   * @throws SQLException
//   */
//  public void getConnection() throws ClassNotFoundException, SQLException {//      // 1.加载驱动程序
//      Class.forName("com.mysql.jdbc.Driver");
//      // 2.获取连接
//      conn = DriverManager
//              .getConnection("jdbc:mysql://localhost:3306/orcl?useUnicode=true&characterEncoding=utf8", "root", "");
//
        stmt = conn.createStatement();
//      System.out.println("connection success!!!");
//  }
//
//  /**
//   * 2.查询
//   * select * from emp where empno=? and ename=?
//   * @throws SQLException
//   */
//  public ResultSet queryInfo(String sql,Object...values) throws SQLException {//      pstmt = conn.prepareStatement(sql);
//      for(int i = 0;i<values.length;i++){//          pstmt.setObject(i+1, values[i]);
//      }
        pstmt.setInt(1, 7566);
        pstmt.setString(2, "JONE");
//      rs = pstmt.executeQuery();
        rs = stmt.executeQuery(sql);
//      return rs;
//  }
//  /**
//   * 3.DML(insert update delete)
//   * @throws SQLException
//   */
//  public int updateInfo(String sql) throws SQLException{//      return stmt.executeUpdate(sql);
//  }
//  /**
//   * 4.释放资源(关闭连接)
//   * @throws SQLException
//   */
//  public void close() throws SQLException {//      if(rs!=null) {//          rs.close();
//      }
//      if(stmt!=null) {//          stmt.close();
//      }
//      if(conn!=null) {//          conn.close();
//      }
//  }
//  public static void main(String[] args) {        JDBCDemo jdbcDemo = new JDBCDemo();
        try {            jdbcDemo.getConnection();
            ResultSet rSet = jdbcDemo.queryInfo("select * from emp");
            List<Emp> list = new ArrayList<>();
            while (rSet.next()) {                Emp emp = new Emp();
                // 获取到当前行的列数以对象的方式来保存
                emp.setEmpno(rSet.getInt("empno"));
                emp.setEname(rSet.getString("ename"));
                emp.setJob(rSet.getString("job"));
                // 将Emp对象保存到集合中
                list.add(emp);
            }
            System.out.println(list.size());//14
            System.out.println("------------------------updateInfo-----------------------------start");
            int i = jdbcDemo.updateInfo("insert into e values(2,'jazz','adf')");
            System.out.println(i);
            System.out.println("------------------------updateInfo-----------------------------end");

            jdbcDemo.close();
        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {            // TODO Auto-generated catch block
            e.printStackTrace();
        }
//
//      try {//          // 1.加载驱动程序
//          Class.forName("com.mysql.jdbc.Driver");
//          // 2.获取连接
//          Connection conn = DriverManager.getConnection(
//                  "jdbc:mysql://localhost:3306/orcl?useUnicode=true&characterEncoding=utf8", "root", "");
//          // 3.获取Statement接口用于执行静态的SQL语句
            Statement stmt = conn.createStatement();// 创建一个 Statement 对象来将 SQL
                                                    // 语句发送到数据库。
//          //PreparedStatement预处理(可以执行动态的SQL)?只是一个占位符号
//          PreparedStatement pstmt = conn.prepareStatement("select * from emp where empno=? and ename=?");
//          pstmt.setInt(1, 7369);//第一个参数表示第几个?    第二个参数?所对应的值
//          pstmt.setString(2, "SMITH");
//          // 4.执行查询并将结果保存到ResultSet结果集中
//          ResultSet rs = pstmt.executeQuery();
//
//          // 5.对结果集进行遍历操作
//          List<Emp> list = new ArrayList<>();
//          while (rs.next()) {//              Emp emp = new Emp();
//              // 获取到当前行的列数以对象的方式来保存
//              emp.setEmpno(rs.getInt("empno"));
//              emp.setEname(rs.getString("ename"));
//              emp.setJob(rs.getString("job"));
//              // 将Emp对象保存到集合中
//              list.add(emp);
//          }
//
//          for (Emp emp : list) {//              System.out.println(emp.getEmpno() + "--" + emp.getJob());
//          }
//          // 6.关闭资源
//          rs.close();
//          pstmt.close();
//          conn.close();
//      } catch (ClassNotFoundException e) {//          // TODO Auto-generated catch block
//          e.printStackTrace();
//      } catch (SQLException e) {//          // TODO Auto-generated catch block
//          e.printStackTrace();
//      }
//
//  }
//
//}

MVC-JDBC的工作流程相关推荐

  1. java mvc模式工作流程_SpringMVC的简介和工作流程

    一.简介 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.Spri ...

  2. MVC — 初步理解IIS工作流程

    声明:本文只是自己的总结和积累.IIS7.x 目录 IIS流程及组成部分 ASP.NET流程及组成部分 IIS与ASP.NET  MVC 一.IIS流程及组成部分 1.Http.SYS:负责监听HTT ...

  3. 简单的Spring MVC入门程序,对于Spring mvc工作流程的理解,servlet标签和servlet-mapping 理解,视图解析器

    javaweb SpringMvc的组成:jsp,JavaBean,servlet 可以使用Spring所提供的功能 提供了前端控制器DispatcherServlet,不需要细化Servlet 执行 ...

  4. 简述springmvc过程_spring mvc的工作流程是什么?

    展开全部 SpringMVC工作流程描述 向服务器发送HTTP请求,请求被前端控制器 DispatcherServlet 捕获. DispatcherServlet 根据 -servlet.xml 中 ...

  5. mybatis+springMVC+spring原理及工作流程

    做自己没做过的事情叫做成长 做自己不愿做的事情叫做改变 做自己不敢做的事情叫做突破 共勉 引言 本人在学习ssm中,已经能熟练的编写配置文件与代码了.但于前几天朋友问其原理与工作流程时却只能答出一二, ...

  6. mybatis返回某一字段_8.mybatis的基本工作流程(2.0)※

    mybatis的基本工作流程 1.读取配置文件,配置文件包含数据库连接信息和Mapper映射文件或者Mapper包路径. 2.有了这些信息就能创建SqlSessionFactory,SqlSessio ...

  7. Mybatis工作流程,附带mybatis的mapper文件和config配置文件模板。mapper文件和dao接口的关系——xml中的namespace和sql标签id命名要求。

    1. Mybatis工作流程 1.1 使用MySQL创建数据库girls并生成一个表boys,如下图. 1.2 创建该表对应的简单实体类Boys,如下图. 1.3 创建Dao接口以及和接口同名的map ...

  8. mybatis 调用存储过程_你真的该进来了解下MyBatis的SQL工作流程了

    前言 MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下: 1.Mapper接口和映射文件是如何进行绑定的 2.MyB ...

  9. 【struts2】struts2工作流程

    一.struts2的线程安全 struts1中的所有Action都只有一个实例,该Action实例会被反复使用.JavaWeb都是使用线程来处理用户请求(request)的,一次请求对应一个处理线程. ...

  10. MyBatis 的工作流程分析

    我们学习了MyBatis 的编程式使用的方法,我们再来回顾一下MyBatis 的主要工作流程: 首先在MyBatis 启动的时候我们要去解析配置文件,包括全局配置文件和映射器配置文件,这里面包含了我们 ...

最新文章

  1. SSIS中的记录集目标
  2. 使用php+swoole对client数据实时更新
  3. 问:Linux下Chrome标题栏中文乱码
  4. sql数据库简单增删改查
  5. 如何将h5网页改成微信网页
  6. 前端学习(1286):node运行环境安装失败
  7. 如何处理Global symbol * requires explicit package name编译错误,以及use strict用法
  8. springboot接收json参数_Springboot + Vue + shiro 实现前后端分离、权限控制
  9. C库函数—strcpy实现
  10. LeetCode算法入门- 4Sum -day11
  11. liteide无法自动补全代码问题解决【go: cannot find GOROOT directory: c:\go】
  12. (2)FPGA面试技能提升篇(Perl脚本)
  13. 杭电1203I NEED A OFFER!
  14. 工龄是怎么计算的?几个月算工龄吗?
  15. UITableView自动计算图片的高度 SDWebImage
  16. java语言标识符的声明规范
  17. PB通过VDN实现Http上传、下载
  18. 计算机时区找不到北京,电脑时区里为何没有标准北京时间
  19. BF算法及KMP算法
  20. Filling the Gaps: Multivariate Time Series Imputation by Graph Neural Networks

热门文章

  1. AJAX核心对象-- XMLHttpRequest 对象使用详解 (一)
  2. 【修正】Q93:PLY文件对应图形法向量反向问题——以bunny10K为例
  3. 自定义OutputFormat案例实操
  4. Windows中使用包管理器(类似于apt/yum的) - Chocolatey
  5. c语言代码re通常什么错误,求帮助 C语言realloc和free触发断点的问题
  6. 蓝彗星(差分+前缀和)
  7. java怎么对用户做自定义模版打印_Printing tools 自定义模板打印的实现
  8. 特征选择的工程方法?
  9. Loadrunner脚本函数
  10. ProxySQL(读写分离)部署