zoukankan      html  css  js  c++  java
  • 写给小白的JAVA链接MySQL数据库的步骤(JDBC):

    闲来无事,给java小白罗列了几个jdbc步骤,后边举个简单的例子,其中的try块请读者自行处理.

    /*
    * 1.下载驱动包:com.mysql.jdbc.Driver;网上很多下载资源,自己找度娘,此处不再提供;
    *
    * 2.将驱动包导入项目,并add to build path,具体步骤去问度娘.
    *
    * 3.加载驱动:使用Class类的forName(String driver)方法获得给定字符串名的类或者接口相关的对象;
    *
    * 4.配置数据库信息:包括数据库url/user/pass等;
    *
    * 5.获得连接对象:使用DriverManager类的getConnection()方法获得Connection链接对象conn;
    *
    * 6.预处理sql:使用Connection的preparedStatemment()方法对拼好的sql语句进行预处理,
    * 并得到PreparedStatemment对象pst;
    *
    * 7.执行操作:使用pst的executeQuery()方法获得查询的结果集或使用pst的executeUpdate()方法获得数据库受影响的条数;
    *
    * 8.释放资源:操作结束后,立即使用PreparedStatemment的close()方法和Connection的close()方法来释放对应的对象,
    * 而不是等待对象自动关闭才释放.

      1 package com.cnblogs.chuanyueinlife;
      2 
      3 import java.sql.Connection;
      4 import java.sql.DriverManager;
      5 import java.sql.PreparedStatement;
      6 import java.sql.ResultSet;
      7 import java.sql.SQLException;
      8 
      9 /**
     10  * JAVA链接MySQL数据库的步骤示例:
     11  * 
     12  * @author 张建(chuanyueinlife)
     13  * 
     14  */
     15 public class JdbcTest {
     16 
     17     static Connection conn = null;
     18     static PreparedStatement pst = null;
     19 
     20     public static void main(String[] args) {
     21         // 实例1.查询操作:
     22         String sql = "SELECT * FROM `user` WHERE user_name =? AND pass_word = ?";// 拼sql语句(有防注入占位符)
     23         selectDemo(sql);
     24         // 实例2.删除
     25         String sql1 = "DELETE FROM `user` WHERE user_name = 'zj'";
     26         deleteDemo(sql1);
     27     }
     28 
     29     public static void deleteDemo(String sql) {
     30         getConn();
     31         getPst(sql);
     32         try {
     33             int num = pst.executeUpdate();
     34             System.out.println("成功删除了" + num + "条记录!");
     35 
     36         } catch (SQLException e) {
     37             // TODO Auto-generated catch block
     38             e.printStackTrace();
     39         }
     40         closeAll();// 释放资源
     41     }
     42 
     43     public static void selectDemo(String sql) {
     44         getConn();
     45         getPst(sql);
     46         try {
     47             pst.setString(1, "admin");
     48             pst.setString(2, "admin");
     49             ResultSet rs = pst.executeQuery();
     50             System.out.println("用户ID\t用户名\t密码");
     51 
     52             while (rs.next()) {
     53                 System.out
     54                         .println(rs.getInt("id") + "\t" + rs.getString("user_name") + "\t" + rs.getString("pass_word"));
     55             }
     56         } catch (SQLException e) {
     57             // TODO Auto-generated catch block
     58             e.printStackTrace();
     59         }
     60         closeAll();// 释放资源
     61     }
     62 
     63     public static void getConn() {
     64 
     65         /*
     66          * 配置数据库信息:
     67          */
     68         String driver = "com.mysql.jdbc.Driver";// 驱动
     69         String url = "jdbc:mysql://localhost:3306/zj";// 数据库url
     70         String user = "root";// 数据库用户名
     71         String pass = "123456";// 数据库密码
     72         try {
     73             Class.forName(driver);// 加载驱动
     74             conn = DriverManager.getConnection(url, user, pass);// 获得连接对象
     75 
     76         } catch (ClassNotFoundException | SQLException e) {
     77             // TODO Auto-generated catch block
     78             e.printStackTrace();
     79         }
     80     }
     81 
     82     public static void getPst(String sql) {
     83         try {
     84             pst = conn.prepareStatement(sql);// 预处理sql
     85         } catch (SQLException e) {
     86             // TODO Auto-generated catch block
     87             e.printStackTrace();
     88         }
     89     }
     90 
     91     public static void closeAll() {
     92         try {
     93             pst.close();
     94             conn.close();
     95         } catch (SQLException e) {
     96             // TODO Auto-generated catch block
     97             e.printStackTrace();
     98         }
     99 
    100     }
    101 }


    */

  • 相关阅读:
    Google验证码Kaptcha的详细过程
    stm32—单总线(1-wire)
    stm32—I2C
    归并排序(MergeSort)
    冒泡排序(Bubble Sort)
    stm32—GPIO
    stm32—时钟系统
    stm32—复位
    转义字符表
    ASCII码表格
  • 原文地址:https://www.cnblogs.com/chuanyueinlife/p/8178696.html
Copyright © 2011-2022 走看看