MVC-JDBC的工作流程
更多免费教学文章请关注这里
//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的工作流程相关推荐
- java mvc模式工作流程_SpringMVC的简介和工作流程
一.简介 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.Spri ...
- MVC — 初步理解IIS工作流程
声明:本文只是自己的总结和积累.IIS7.x 目录 IIS流程及组成部分 ASP.NET流程及组成部分 IIS与ASP.NET MVC 一.IIS流程及组成部分 1.Http.SYS:负责监听HTT ...
- 简单的Spring MVC入门程序,对于Spring mvc工作流程的理解,servlet标签和servlet-mapping 理解,视图解析器
javaweb SpringMvc的组成:jsp,JavaBean,servlet 可以使用Spring所提供的功能 提供了前端控制器DispatcherServlet,不需要细化Servlet 执行 ...
- 简述springmvc过程_spring mvc的工作流程是什么?
展开全部 SpringMVC工作流程描述 向服务器发送HTTP请求,请求被前端控制器 DispatcherServlet 捕获. DispatcherServlet 根据 -servlet.xml 中 ...
- mybatis+springMVC+spring原理及工作流程
做自己没做过的事情叫做成长 做自己不愿做的事情叫做改变 做自己不敢做的事情叫做突破 共勉 引言 本人在学习ssm中,已经能熟练的编写配置文件与代码了.但于前几天朋友问其原理与工作流程时却只能答出一二, ...
- mybatis返回某一字段_8.mybatis的基本工作流程(2.0)※
mybatis的基本工作流程 1.读取配置文件,配置文件包含数据库连接信息和Mapper映射文件或者Mapper包路径. 2.有了这些信息就能创建SqlSessionFactory,SqlSessio ...
- Mybatis工作流程,附带mybatis的mapper文件和config配置文件模板。mapper文件和dao接口的关系——xml中的namespace和sql标签id命名要求。
1. Mybatis工作流程 1.1 使用MySQL创建数据库girls并生成一个表boys,如下图. 1.2 创建该表对应的简单实体类Boys,如下图. 1.3 创建Dao接口以及和接口同名的map ...
- mybatis 调用存储过程_你真的该进来了解下MyBatis的SQL工作流程了
前言 MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下: 1.Mapper接口和映射文件是如何进行绑定的 2.MyB ...
- 【struts2】struts2工作流程
一.struts2的线程安全 struts1中的所有Action都只有一个实例,该Action实例会被反复使用.JavaWeb都是使用线程来处理用户请求(request)的,一次请求对应一个处理线程. ...
- MyBatis 的工作流程分析
我们学习了MyBatis 的编程式使用的方法,我们再来回顾一下MyBatis 的主要工作流程: 首先在MyBatis 启动的时候我们要去解析配置文件,包括全局配置文件和映射器配置文件,这里面包含了我们 ...
最新文章
- SSIS中的记录集目标
- 使用php+swoole对client数据实时更新
- 问:Linux下Chrome标题栏中文乱码
- sql数据库简单增删改查
- 如何将h5网页改成微信网页
- 前端学习(1286):node运行环境安装失败
- 如何处理Global symbol * requires explicit package name编译错误,以及use strict用法
- springboot接收json参数_Springboot + Vue + shiro 实现前后端分离、权限控制
- C库函数—strcpy实现
- LeetCode算法入门- 4Sum -day11
- liteide无法自动补全代码问题解决【go: cannot find GOROOT directory: c:\go】
- (2)FPGA面试技能提升篇(Perl脚本)
- 杭电1203I NEED A OFFER!
- 工龄是怎么计算的?几个月算工龄吗?
- UITableView自动计算图片的高度 SDWebImage
- java语言标识符的声明规范
- PB通过VDN实现Http上传、下载
- 计算机时区找不到北京,电脑时区里为何没有标准北京时间
- BF算法及KMP算法
- Filling the Gaps: Multivariate Time Series Imputation by Graph Neural Networks
热门文章
- AJAX核心对象-- XMLHttpRequest 对象使用详解 (一)
- 【修正】Q93:PLY文件对应图形法向量反向问题——以bunny10K为例
- 自定义OutputFormat案例实操
- Windows中使用包管理器(类似于apt/yum的) - Chocolatey
- c语言代码re通常什么错误,求帮助 C语言realloc和free触发断点的问题
- 蓝彗星(差分+前缀和)
- java怎么对用户做自定义模版打印_Printing tools 自定义模板打印的实现
- 特征选择的工程方法?
- Loadrunner脚本函数
- ProxySQL(读写分离)部署