MVC-JDBC的工作流程

版权声明:本文为博主原创文章,未经博主允许不得转载。如有问题,欢迎指正。 https://blog.csdn.net/qq_30225725/article/details/88051284

更多免费教学文章请关注这里在这里插入图片描述

//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();
//		}
//
//	}
//
//}

猜你喜欢

转载自blog.csdn.net/qq_30225725/article/details/88051284