使用MySQL需要导mysql-connector-java-5.1.7-bin.jar包

所有的java.sql.Driver实现类,都提供了static块,块内的代码就是把自己注册到DriverManager中。

1.配置四大参数

 String driverClassName="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/数据库名";
String username="root";
String password="密码";

2.加载数据库驱动

 Class.forName(driverClassName);

 //等同于上边的加载驱动

 //com.mysql.jdbc.Driver driver= new com.mysql.jdbc.Driver();

 //DriverManager.registerDriver(driver);

3.创建连接

 Connection con=DriverManager.getConnection(url,user,password);

4.得到连接后就可对数据库进行增、删、改、查等操作

(1)对数据库增删改

  a)通过Connection对象创建Statement,Statement语句的发送器,它的功能是向数据库发送sql语句!

  b)调用它的int executeUpdate(String sql),它可以发送DML,DDL

Statement stmt=con.createStatement();
//使用Statement发送sql语句 //String sql="insert into stu values('ITCAST-0004','zhaoliu',19)";
//String sql="update stu set age=25 where name='zhaoliu'";
String sql="dalete from stu";
//返回所影响的行数
int r=stmt.executeUpdate(sql);

(2)对数据库进行查询

查询后返回表格----对查询返回的“表格”进行解析!

 String sql="select * from stu";
//调用Statement的ResultSet rs(返回值) executeQuery(String querysql)
//返回的是结果集
ResultSet rs=stmt.executeQuery(sql); //解析ResultSet
while(rs.next){//把光标向下移动一行,并判断下一行是否存在!
//可以以下标的方式获取
String str=rs.getString(1);
//可以以字段名称获取
String str2=rs.getString("name");
System.out.println(str);
System.out.println(str2);
}

查询结束后:

 rs.close();
stmt.close();
con.close();

//规范代码形式

     public void fun3() throws ClassNotFoundException, SQLException {
// 引用在外边给
Connection con = null;// 定义引用
Statement stmt = null;
ResultSet rs=null;
try {
// 一、得到连接
String driverClassName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/mydb3";
String username = "root";
String password = "123456"; Class.forName(driverClassName);
con = DriverManager.getConnection(url, username, password);// 实例化 // 二、创建Statement
stmt=con.createStatement();//createStatement(int,int);这两个参数是用来确定创建的statement能生成什么样的结果集
String sql="select * from stu";
rs=stmt.executeQuery(sql);
// rs.beforeFirst();
rs.last();
System.out.println("行数:"+rs.getRow());
rs.beforeFirst();
//三、循环遍历rs,打印其中数据
/*while(rs.next()){
System.out.println(rs.getString(1));//数据库中第一例的值
}*/
//获取结果集元数据在获取列数
int count=rs.getMetaData().getColumnCount(); while(rs.next())//遍历行
{
int i;
for(i=1;i<=count;i++){//遍历列
System.out.print(rs.getMetaData().getColumnName(i)+":"+rs.getString(i)+"\t");
}
System.out.println("\n");
}
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
// 关闭
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(con!=null) con.close();
}
}

JDBC---Mysql(1)的更多相关文章

  1. JDBC设计理念浅析 JDBC简介(一)

    概念 JDBC是J2EE的标准规范之一,J2EE就是为了规范JAVA解决企业级应用开发制定的一系列规范,JDBC也不例外. JDBC是用于Java编程语言和数据库之间的数据库无关连接的标准Java A ...

  2. JDBC驱动程序注册 JDBC简介(二)

    使用JDBC进行数据库操作的第一步就是驱动注册(当然你得先导入JAR). 驱动注册有多种方式,第一步必然是获得正确的驱动名称与URL格式 驱动名称与URL格式 RDBMS 驱动程序名称        ...

  3. Connection 对象简介 方法解读 JDBC简介(四)

    通过驱动管理器DriverManager的getConnection方法,可以创建到指定URL的连接     Connection conn = DriverManager.getConnection ...

  4. 执行对象Statement、PreparedStatement和CallableStatement详解 JDBC简介(五)

    执行对象是SQL的执行者,SQL是“安排好的任务”,执行对象就是“实际工作的人”. 执行对象有三种: Statement.PreparedStatement和CallableStatement,他们都 ...

  5. JDBC 异常简介 jDBC简介(六)

    SQL 异常简介 对于数据库的操作访问,必然也很可能抛出异常. JDBC中定义了SQLException,用于描述数据库相关操作中可能出现的异常情况. java.sql.SQLException    ...

  6. JDBC事务与保存点 JDBC简介(七)

    事务简介 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行. 事务是必须满足4个条件(ACID) 事务的原子性( A ...

  7. Data Source与数据库连接池简介 JDBC简介(八)

    DataSource是作为DriverManager的替代品而推出的,DataSource 对象是获取连接的首选方法. 起源 为何放弃DriverManager DriverManager负责管理驱动 ...

  8. 转 JDBC连接数据库(二)——连接池

    https://www.cnblogs.com/xiaotiaosi/p/6398371.html 数据库保持长连接,不过一直都是idle,除非有用户激活连接,这样后果是无法删除用户,但是不影响数据库 ...

  9. MySQL(Linux)编码问题——网站刚刚上线就被光速打脸

    MySQL(Linux)编码问题--刚刚上线就被光速打脸 MySql默认编码问题 总结了一下,大致是这样的 修改数据库配置 在URL上加载参数 MySql默认编码问题 说到这里真的想哭,改了无数bug ...

  10. MySql(四)SQL注入

    MySql(四)SQL注入 一.SQL注入简介 1.1 SQL注入流程 1.2 SQL注入的产生过程 1.2.1 构造动态字符串 转义字符处理不当 类型处理不当 查询语句组装不当 错误处理不当 多个提 ...

随机推荐

  1. 1. RNN神经网络模型原理

    1. RNN神经网络模型原理 2. RNN神经网络模型的不同结构 3. RNN神经网络-LSTM模型结构 1. 前言 循环神经网络(recurrent neural network)源自于1982年由 ...

  2. Docker镜像中的base镜像理解

    base 镜像有两层含义: 不依赖其他镜像,从 scratch 构建. 其他镜像可以之为基础进行扩展. 所以,能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ub ...

  3. Brainfuck解析器(Python)

    global cs global ip global ss #global sp global ds global bp global tab global out cs='++++++++++[&g ...

  4. Math.Round四舍六入五取偶Math.Ceiling只要有小数都加1Math.Floor总是舍去小数

    1.Math.Round:四舍六入五取偶 引用内容 Math.Round(0.0) //0Math.Round(0.1) //0Math.Round(0.2) //0Math.Round(0.3) / ...

  5. Java知多少(42)泛型通配符和类型参数的范围

    本节先讲解如何限制类型参数的范围,再讲解通配符(?). 类型参数的范围 在泛型中,如果不对类型参数加以限制,它就可以接受任意的数据类型,只要它是被定义过的.但是,很多时候我们只需要一部分数据类型就够了 ...

  6. TCP/IP模型及OSI七层参考模型各层的功能和主要协议

    注:网络体系结构是分层的体系结构,学术派标准OSI参考模型有七层,而工业标准TCP/IP模型有四层.后者成为了事实上的标准,在介绍时通常分为5层来叙述但应注意TCP/IP模型实际上只有四层. 1.TC ...

  7. PHP最全笔记(二)(值得收藏,不时翻看一下)

    /* [goto]5.3+ 版本 */用来跳转到程序中的某一指定位置该目标位置可以用目标名称 加上冒号来标记.PHP中的goto有一定限制,只能在同一个文件和作用域中跳转,    也就是说你无法跳出一 ...

  8. laravel 5.4 中使用migrate

    1. 创建表结构 a. 命令: php artisan make:migration create_posts_table 2.生产文件 <?php use Illuminate\Support ...

  9. linux下Ftp服务安装

    安装vsftp 使用yum命令安装vsftp #yum install vsftpd -y 如果yum安装不成功,可以到 http://pkgs.org/centos-6/centos-x86_64/ ...

  10. 转:【WebView的cookie机制 】轻松搞定WebView cookie同步问题

    原文链接:http://blog.csdn.net/fengyuzhengfan/article/details/51517622 在进行APP+H5混合开发的时候,一些功能是用native方法实现的 ...