zoukankan      html  css  js  c++  java
  • JDBC连接MySQL数据库的方法和实例

    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Connection;
    import java.sql.Statement;
     
     
    public class MysqlDemo {
        public static void main(String[] args) throws Exception {
            Connection conn = null;
            String sql;
            // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
            // 避免中文乱码要指定useUnicode和characterEncoding
            // 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,
            // 下面语句之前就要先创建javademo数据库
            String url = "jdbc:mysql://localhost:3306/javademo?"
                    + "user=root&password=root&useUnicode=true&characterEncoding=UTF8";
     
            try {
                // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
                // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
                Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
                // or:
                // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
                // or:
                // new com.mysql.jdbc.Driver();
     
                System.out.println("成功加载MySQL驱动程序");
                // 一个Connection代表一个数据库连接
                conn = DriverManager.getConnection(url);
                // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
                Statement stmt = conn.createStatement();
                sql = "create table student(NO char(20),name varchar(20),primary key(NO))";
                int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
                if (result != -1) {
                    System.out.println("创建数据表成功");
                    sql = "insert into student(NO,name) values('2012001','陶伟基')";
                    result = stmt.executeUpdate(sql);
                    sql = "insert into student(NO,name) values('2012002','周小俊')";
                    result = stmt.executeUpdate(sql);
                    sql = "select * from student";
                    ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值
                    System.out.println("学号	姓名");
                    while (rs.next()) {
                        System.out
                                .println(rs.getString(1) + "	" + rs.getString(2));// 入如果返回的是int类型可以用getInt()
                    }
                }
            } catch (SQLException e) {
                System.out.println("MySQL操作错误");
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                conn.close();
            }
     
        }
     
    }
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 交换Easy
    Java实现 蓝桥杯VIP 算法提高 多项式输出
    Java实现 蓝桥杯VIP 算法提高 多项式输出
    Java实现 蓝桥杯VIP 算法提高 多项式输出
    Java实现 蓝桥杯VIP 算法提高 多项式输出
    Java实现 蓝桥杯VIP 算法提高 多项式输出
    Java实现 蓝桥杯VIP 算法训练 矩阵乘方
    QT中给各控件增加背景图片(可缩放可旋转)的几种方法
    回调函数实现类似QT中信号机制
    std::string的Copy-on-Write:不如想象中美好(VC不使用这种方式,而使用对小字符串更友好的SSO实现)
  • 原文地址:https://www.cnblogs.com/yxdmoodoo/p/9244025.html
Copyright © 2011-2022 走看看