Java 通过JDBC连接Mysql数据库的方法和实例


 

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序

(源地址:http://www.cnblogs.com/taoweiji/archive/2012/12/11/2812852.html


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( "学号\t姓名" );
                 while (rs.next()) {
                     System.out
                             .println(rs.getString( 1 ) + "\t" + rs.getString( 2 )); // 入如果返回的是int类型可以用getInt()
                 }
             }
         } catch (SQLException e) {
             System.out.println( "MySQL操作错误" );
             e.printStackTrace();
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
             conn.close();
         }
 
     }
 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值