• JDBC连接MySQL数据库代码


    ******************************************************1**********************************************************
    1
    import java.sql.DriverManager; 2 import java.sql.ResultSet; 3 import java.sql.SQLException; 4 import java.sql.Connection; 5 import java.sql.Statement; 6 7 8 public class MysqlDemo { 9 public static void main(String[] args) throws Exception { 10 Connection conn = null; 11 String sql; 12 // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值 13 // 避免中文乱码要指定useUnicode和characterEncoding 14 // 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定, 15 // 下面语句之前就要先创建javademo数据库 16 String url = "jdbc:mysql://localhost:3306/javademo?" 17 + "user=root&password=root&useUnicode=true&characterEncoding=UTF8"; 18 19 try { 20 // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来, 21 // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以 22 Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动 23 // or: 24 // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver(); 25 // or: 26 // new com.mysql.jdbc.Driver(); 27 28 System.out.println("成功加载MySQL驱动程序"); 29 // 一个Connection代表一个数据库连接 30 conn = DriverManager.getConnection(url); 31 // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等 32 Statement stmt = conn.createStatement(); 33 sql = "create table student(NO char(20),name varchar(20),primary key(NO))"; 34 int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功 35 if (result != -1) { 36 System.out.println("创建数据表成功"); 37 sql = "insert into student(NO,name) values('2012001','陶伟基')"; 38 result = stmt.executeUpdate(sql); 39 sql = "insert into student(NO,name) values('2012002','周小俊')"; 40 result = stmt.executeUpdate(sql); 41 sql = "select * from student"; 42 ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值 43 System.out.println("学号 姓名"); 44 while (rs.next()) { 45 System.out 46 .println(rs.getString(1) + " " + rs.getString(2));// 入如果返回的是int类型可以用getInt() 47 } 48 } 49 } catch (SQLException e) { 50 System.out.println("MySQL操作错误"); 51 e.printStackTrace(); 52 } catch (Exception e) { 53 e.printStackTrace(); 54 } finally { 55 conn.close(); 56 } 57 58 } 59 60 }

    ******************************************2*****************************************

     1 DBHelper.java
     2 package com.hu.demo;
     3 
     4 import java.sql.Connection;
     5 import java.sql.DriverManager;
     6 import java.sql.PreparedStatement;
     7 import java.sql.SQLException;
     8 
     9 public class DBHelper {
    10     public static final String url = "jdbc:mysql://127.0.0.1/student";
    11     public static final String name = "com.mysql.jdbc.Driver";
    12     public static final String user = "root";
    13     public static final String password = "root";
    14 
    15     public Connection conn = null;
    16     public PreparedStatement pst = null;
    17 
    18     public DBHelper(String sql) {
    19         try {
    20             Class.forName(name);//指定连接类型
    21             conn = DriverManager.getConnection(url, user, password);//获取连接
    22             pst = conn.prepareStatement(sql);//准备执行语句
    23         } catch (Exception e) {
    24             e.printStackTrace();
    25         }
    26     }
    27 
    28     public void close() {
    29         try {
    30             this.conn.close();
    31             this.pst.close();
    32         } catch (SQLException e) {
    33             e.printStackTrace();
    34         }
    35     }
    36 }
     1 Demo.java
     2 package com.hu.demo;
     3 
     4 import java.sql.ResultSet;
     5 import java.sql.SQLException;
     6 
     7 public class Demo {
     8 
     9     static String sql = null;
    10     static DBHelper db1 = null;
    11     static ResultSet ret = null;
    12 
    13     public static void main(String[] args) {
    14         sql = "select *from stuinfo";//SQL语句
    15         db1 = new DBHelper(sql);//创建DBHelper对象
    16 
    17         try {
    18             ret = db1.pst.executeQuery();//执行语句,得到结果集
    19             while (ret.next()) {
    20                 String uid = ret.getString(1);
    21                 String ufname = ret.getString(2);
    22                 String ulname = ret.getString(3);
    23                 String udate = ret.getString(4);
    24                 System.out.println(uid + "	" + ufname + "	" + ulname + "	" + udate );
    25             }//显示数据
    26             ret.close();
    27             db1.close();//关闭连接
    28         } catch (SQLException e) {
    29             e.printStackTrace();
    30         }
    31     }
    32 
    33 }

    *********************************************3********************************************************

     1 /*JDBC
     2 
     3 1.         在Java中,软件功能都是由类来完成的。
     4 
     5 2.         用于操作数据库的类统称为JDBC(java database connective)
     6 
     7 3.         数据库产品比较多(mysql,oracle,sqlserver),java并没有提供访问数据库的JDBC类,这些类都是由数据库厂商提供的。
     8 
     9 4.         Java只提供了访问数据库的接口,数据库厂商的类实现了接口。
    10 
    11 5.         在java中操作数据库需要导入数据库厂商提供的类,这些类通常被放在以.jar为扩展名的文件中,这个文件称为jar文件。
    12 
    13 6.         数据库操作通常指的是(CRUD),其本质就是java向数据库中发送sql语句,然后在数据库中执行sql语句 。
    14 
    15 7.         完成数据库操作需要以下接口配合完成
    16 
    17 a)         DriverManager 类驱动程序
    18 
    19 b)         Connection 接口连接数据库的类
    20 
    21 c)         Statement 接口执行sql语句的类
    22 
    23 d)         ResultSet 接口保存结果集的类
    24 
    25 JDBC连接mysql数据库代码
    26 */
    27 import java.sql.*;
    28 public class Insert {
    29  public static void main(String[] args) {
    30   Connection conn =null;//conn用于连接数据库
    31   Statement stmt = null;//stmt用于发送sql语句到数据库并执行sql语句
    32   //localhost:表示数据库服务器地址,如192.168.0.1
    33   //3306表示端口号
    34   //test是数据库名称
    35   //user是数据库用户名
    36   //password是数据库的密码
    37   String connectionString = "jdbc:mysql://localhost:3306/test?user=root&password=root";
    38   
    39   try {
    40    //将数据驱动程序类加载到内存中
    41    Class.forName("org.gjt.mm.mysql.Driver").newInstance();
    42    
    43    //通过驱动程序管理器DriverManager获取连接对象conn,conn连接的服务器和数据库信息在connectionString
    44    conn = DriverManager.getConnection(connectionString);
    45    stmt = conn.createStatement();
    46    String sql ="insert into mytable(username,age) values('色即是空',28)";
    47    
    48    //将sql语句发送到test数据中,并执行,i是影响的行数  >0表示成功 否则表示失败
    49    int i = stmt.executeUpdate(sql);
    50    if(i>0){
    51     System.out.println("哈哈,添加成功啦");
    52    }else{
    53     System.out.println("哈哈,添加!!!!!成功啦");
    54    }
    55   } catch (InstantiationException e) {
    56    e.printStackTrace();
    57   } catch (IllegalAccessException e) {
    58    e.printStackTrace();
    59   } catch (ClassNotFoundException e) {
    60    e.printStackTrace();
    61   } catch (SQLException e) {
    62    e.printStackTrace();
    63   }
    64   
    65  }
    66 }

    ********************************4***************************

     1 import java.sql.Connection;
     2 import java.sql.DriverManager;
     3 import java.sql.SQLException;
     4 import java.sql.ResultSet;
     5 import java.sql.Statement;
     6 import java.sql.*;
     7 
     8 public class BaseConnection {
     9 private Connection con = null;  
    10 protected Connection getCon(){
    11     ResultSet rs=null;    Statement stmt = null;
    12    try {
    13     Class.forName("org.gjt.mm.mysql.Driver");
    14     String url="jdbc:mysql://192.168.0.10/数据库名?user=USR&password=PWD";
    15      conn = DriverManager.getConnection(url);  
    16 
    17     stmt = conn.createStatement();
    18 } catch (ClassNotFoundException e) {
    19     e.printStackTrace();
    20    } catch (SQLException e) {
    21     e.printStackTrace();
    22    }      
    23    return con;
    24 }
    25 }
    26 /*
    27 1、Oracle8/8i/9i数据库(thin模式)
    28 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    29 String url="jdbc:oracle:thin:@localhost:1521:orcl";
    30 //orcl为数据库的SID
    31 String user="test";
    32 String password="test";
    33 Connection conn= DriverManager.getConnection(url,user,password);
    34 
    35 
    36 2、DB2数据库
    37 Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
    38 String url="jdbc:db2://localhost:5000/sample";
    39 //sample为你的数据库名
    40 String user="admin";
    41 String password="";
    42 Connection conn= DriverManager.getConnection(url,user,password);
    43 
    44 
    45 3、Sql Server7.0/2000数据库
    46 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    47 String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
    48 //mydb为数据库
    49 String user="sa";
    50 String password="";
    51 Connection conn= DriverManager.getConnection(url,user,password);
    52 
    53 
    54 4、Sybase数据库
    55 Class.forName("com.sybase.jdbc.SybDriver").newInstance();
    56 String url =" jdbc:sybase:Tds:localhost:5007/myDB";
    57 //myDB为你的数据库名
    58 Properties sysProps = System.getProperties();
    59 SysProps.put("user","userid");
    60 SysProps.put("password","user_password");
    61 Connection conn= DriverManager.getConnection(url, SysProps);
    62 
    63 
    64 5、Informix数据库
    65 Class.forName("com.informix.jdbc.IfxDriver").newInstance();
    66 String url =
    67 "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
    68 user=testuser;password=testpassword";
    69 //myDB为数据库名
    70 Connection conn= DriverManager.getConnection(url);
    71 
    72 
    73 6、MySQL数据库
    74 Class.forName("org.gjt.mm.mysql.Driver").newInstance();
    75 String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
    76 //myDB为数据库名
    77 Connection conn= DriverManager.getConnection(url);
    78 
    79 
    80 7、PostgreSQL数据库
    81 Class.forName("org.postgresql.Driver").newInstance();
    82 String url ="jdbc:postgresql://localhost/myDB"
    83 //myDB为数据库名
    84 String user="myuser";
    85 String password="mypassword";
    86 Connection conn= DriverManager.getConnection(url,user,password);*/

    ***********************************5**********************************

      1 JDBC连接MySQL(假设数据库和jdk环境已经安装好):
      2 加载及注册JDBC驱动程序
      3 Class.forName("com.mysql.jdbc.Driver");
      4 
      5 Class.forName("com.mysql.jdbc.Driver").newInstance();
      6 
      7 JDBC URL 定义驱动程序与数据源之间的连接
      8 标准语法:
      9 <protocol(主要通讯协议)>:<subprotocol(次要通讯协议,即驱动程序名称)>:<data source identifier(数据源)>
     10 
     11 MySQL的JDBC URL格式:
     12 
     13 jdbc:mysql//[hostname][:port]/[dbname][?param1=value1][¶m2=value2]….
     14 
     15 示例:jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password
     16 
     17 常见参数:
     18 
     19 user                       用户名
     20 
     21 password                  密码
     22 
     23 autoReconnect                  联机失败,是否重新联机(true/false 24 
     25 maxReconnect              尝试重新联机次数
     26 
     27 initialTimeout               尝试重新联机间隔
     28 
     29 maxRows                   传回最大行数
     30 
     31 useUnicode                 是否使用Unicode字体编码(true/false 32 
     33 characterEncoding          何种编码(GB2312/UTF-8/…)
     34 
     35 relaxAutocommit            是否自动提交(true/false 36 
     37 capitalizeTypeNames        数据定义的名称以大写表示
     38 
     39 大写表示
     40 
     41 建立连接对象
     42 
     43 String url="jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password";Connection con = DriverManager.getConnection(url);
     44 
     45 建立SQL陈述式对象(Statement Object)
     46 
     47 Statement stmt = con.createStatement();
     48 
     49 执行SQL语句
     50 
     51 executeQuery()
     52 
     53 String query = "select * from test";
     54 
     55 ResultSet rs=stmt.executeQuery(query);
     56 
     57 结果集ResultSet
     58 
     59 while(rs.next())
     60 
     61 {rs.getString(1);rs.getInt(2);}
     62 
     63 executeUpdate()
     64 
     65 String upd="insert into test (id,name) values(1001,xuzhaori)";
     66 
     67 int con=stmt.executeUpdate(upd);
     68 
     69 execute()
     70 
     71 示例:
     72 
     73 try
     74 
     75 {
     76 
     77 }
     78 
     79 catch(SQLException sqle)
     80 
     81 {
     82 
     83 }
     84 
     85 finally
     86 
     87 {
     88 
     89 }
     90 
     91 Java类型和SQL类型 技术手册P421
     92 
     93 PreparedStatement(预编语句)
     94 
     95 PreparedStatement stmt = conn.prepareStatement("insert into test(id,name)values(?,?)");
     96 
     97 stmt.setInt(1,id);
     98 
     99 stmt.setString(2,name);
    100 
    101 注:一旦设定语句的参数值后,就可以多次执行改语句,直到调用clearParameters()方法将他清除为止
    102 
    103 CallableStatement(预储程序)技术手册P430
     1 import java.sql.*;
     2 publicclass MysqlJdbc {
     3   publicstaticvoid main(String args[]) {
     4     try {
     5       Class.forName("com.mysql.jdbc.Driver");     //加载MYSQL JDBC驱动程序   
     6       //Class.forName("org.gjt.mm.mysql.Driver");
     7      System.out.println("Success loading Mysql Driver!");
     8     }
     9     catch (Exception e) {
    10       System.out.print("Error loading Mysql Driver!");
    11       e.printStackTrace();
    12     }
    13     try {
    14       Connection connect = DriverManager.getConnection(
    15           "jdbc:mysql://localhost:3306/test","root","198876");
    16            //连接URL为   jdbc:mysql//服务器地址/数据库名  ,后面的2个参数分别是登陆用户名和密码
    17 
    18       System.out.println("Success connect Mysql server!");
    19       Statement stmt = connect.createStatement();
    20       ResultSet rs = stmt.executeQuery("select * from user");
    21                                                               //user 为你表的名称
    22 while (rs.next()) {
    23         System.out.println(rs.getString("name"));
    24       }
    25     }
    26     catch (Exception e) {
    27       System.out.print("get data error!");
    28       e.printStackTrace();
    29     }
    30   }
    31 }
     1 import java.sql.*;
     2 
     3 publicclass Myjproject {
     4  publicstaticvoid main(String args[])
     5  {
     6      try {
     7           Class.forName("com.mysql.jdbc.Driver");     //加载MYSQL JDBC驱动程序   
     8           //Class.forName("org.gjt.mm.mysql.Driver");
     9          System.out.println("Success loading Mysql Driver!");
    10         }
    11         catch (Exception e) {
    12           System.out.print("Error loading Mysql Driver!");
    13           e.printStackTrace();
    14         }
    15   try {
    16       Connection connect = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test","root","198876");
    17      
    18        int num=100;
    19        PreparedStatement Statement=connect.prepareStatement("INSERT INTO user VALUES(?,?)");
    20        for(int i=0;i<num;i++)        //定义个100次的循环,往表里插入一百条信息。
    21       {
    22            Statement.setString(1,"chongshi"+i);
    23            Statement.setString(2,"bo"+i);
    24            Statement.executeUpdate();
    25    }
    26 
    27   // } catch (ClassNotFoundException e) {
    28     // TODO Auto-generated catch block
    29    // System.out.println("An error has occurred:"+e.toString());
    30   //  e.printStackTrace();
    31    }catch(SQLException e)
    32    {
    33    }
    34  }
    35 }
  • 相关阅读:
    数据结构-二叉搜索树
    多任务处理方式之一:多进程
    TCP并发服务器
    REST是什么?RESTFul又是什么?这二者的关系是怎样的?
    Python中的深浅拷贝的区别
    查找算法之 '二分法查找'
    排序算法之 '快速排序'
    CCS
    CCS
    CCS
  • 原文地址:https://www.cnblogs.com/zhangyongjian/p/3647212.html
Copyright © 2020-2023  润新知