zoukankan      html  css  js  c++  java
  • 数据库-jdbc

    一、jdbc

    1、核心代码块

    @Test
    	public void testConn() throws Exception {
    		// 1. 加载数据库的连接驱动
    		// Driver=com.mysql.jdbc.Driver
    		Class.forName("com.mysql.jdbc.Driver");
    
    		// 2. 造桥,建立连接
    		// url = jdbc:mysql://localhost:3306/数据名称
    		String url = "jdbc:mysql://localhost:3306/xc";
    		String user = "root";
    		String password = "root";
    		Connection conn = DriverManager.getConnection(url, user, password);
    
    		// 3.获取传送指令(SQL)的接口对象
    		Statement stmt = conn.createStatement();
    		// stmt.executeQuery(sql); // 当你要做查询的时候,用query
    		// stmt.executeUpdate(sql); // insert update delete 使用update
    		String sql = " SELECT * FROM user  ";
    		// 4. 得到结果集,然后处理结果集
    		ResultSet rs = stmt.executeQuery(sql);
    		// rs.next() 返回true表示rs结果有数据 false表示没有数据了
    		while (rs.next()) {
    			// 获取单个的数据,一个一个的列
    			int studentNo = rs.getInt("id");//
    			String loginPwd = rs.getString(2);
    			String studentName = rs.getString("name");
    			//String sex = rs.getString("sex");
    
    			System.out.println(
    					"studentNo=" + studentNo + " loginPwd=" + loginPwd + " studentName=" +studentName);
    		}
    		
    		// 5.拆桥 ,释放资源
    		rs.close();
    		stmt.close();
    		conn.close();
    	}
    	
    

      

    2、crud

    // 1. 新增
    	@Test
    	public void testInsert() throws Exception {
    		String sql = " INSERT INTO DOG VALUES(NULL,'拉布拉多', 80, 100, '大型犬') ";
    		try {
    			this.insertOrUpdateOrDelete(sql );
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	// 2. 修改
    	@Test
    	public void testUpdate() throws Exception {
    		String sql = " UPDATE DOG SET health = 90 WHERE id = 4 ";
    		try {
    			this.insertOrUpdateOrDelete(sql );
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	// 3. 删除
    	@Test
    	public void testDelete() {
    		String sql = " DELETE FROM DOG WHERE ID = 4 ";
    		try {
    			this.insertOrUpdateOrDelete(sql );
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	// 4. 查询
    	@Test
    	public void testSelectDog() throws Exception {
    		String sql = " SELECT * FROM DOG ";
    		ResultSet rs = stmt.executeQuery(sql);
    		List<Dog> list = new ArrayList<Dog>();
    		while(rs.next()) {
    			Dog dog = new Dog();
    			dog.setId(rs.getInt("id"));
    			dog.setName(rs.getString("name"));
    			
    			list.add(dog);
    		}
    

      

    3、防止注入

    @Test
    	public void testPpStmt() {
    		Connection conn= null;
    		PreparedStatement pstm = null;
    		ResultSet rs = null;
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/xdsc", "root", "root");
    			String sql = " SELECT * FROM MASTER WHERE NAME=? AND PASSWORD=? ";
    			pstm = conn.prepareStatement(sql);
    			// 将占位符赋值
    			// SELECT * FROM MASTER WHERE NAME='123123' AND PASSWORD='YEAHSIR'
    			pstm.setString(1, "YEAHSIR");
    			pstm.setString(2, "123123");
    			// 执行SQL
    			rs = pstm.executeQuery();
    			while(rs.next()) {
    				Master master = new Master(rs.getInt("id"), rs.getString("name"), rs.getString("password"), rs.getInt("money"));
    				System.out.println(master);
    			}
    		} catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				rs.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    				System.out.println("关闭结果集出了问题");
    			}
    			try {
    				pstm.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    			try {
    				conn.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    		
    		
    	}
    

      

    二、连接池

    1

  • 相关阅读:
    java嵌套接口
    关于继承与多态
    重看Maven技术
    npm常用命令及参数总结
    vue.js和node.js的关系
    Invalid [xxx] in servlet mapping 、 <url-pattern>的匹配规则
    Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'name' in 'field list'
    关于中文词云生成报错
    easygui安装过程
    将写好的python软件打包成程序
  • 原文地址:https://www.cnblogs.com/flyingdreams/p/12951125.html
Copyright © 2011-2022 走看看