使用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. Socket网络编程--聊天程序(8)

    上一节已经完成了对用户的身份验证了,既然有了验证,那么接下来就能对不同的客户端进行区分了,所以这一节讲实现私聊功能.就是通过服务器对客户端的数据进行转发到特定的用户上, 实现私聊功能的聊天程序 实现的 ...

  2. C++ 类占用空间计算方式

    1.一个类占用的空间主要是属性占用空间,而成员函数一般不占用空间,但是虚函数占用空间,需要说明的是,无论多少个虚函数,只要占用4个字节即可,也就是索引指向一个虚拟表的首位置.另外需要说明的是占用空间都 ...

  3. 基于CSS3动态背景登录框代码

    基于CSS3动态背景登录框代码.这是一款基于jQuery+CSS3实现的带有动画效果的动态背景登陆框特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class ...

  4. Spring Security 指定登陆入口

    spring security除通过form-login的熟悉指定登陆还可以通过entry-point-ref 指定登陆入口.具体配置如下: <?xml version="1.0&qu ...

  5. vector、map 内存释放

    一.vector void TestVector() { cout << "begin create vector" << endl; int iSize ...

  6. 原生JS封装ajax方法

    http://blog.sucaijiayuan.com/article/89 jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只 ...

  7. [Stats385] Lecture 03, Harmonic Analysis of Deep CNN

    大咖秀,注意提问环节大家的表情,深入窥探大咖的心态,很有意思. 之前有NG做访谈,现在这成了学术圈流行. Video: https://www.youtube.com/watch?v=oCohnBbm ...

  8. [Full-stack] 状态管理技巧 - Redux

    资源一: In React JS Tutorials, lectures from 9. From: React高级篇(一)从Flux到Redux,react-redux 从Flux到Redux,再到 ...

  9. 12外观模式Facade

    一.什么是外观模式 Facade模式也叫外观模式,是由GoF提出的 23种设计模式中的一种.Facade模式为一组具 有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面.这个一致的简单的 ...

  10. H5 拖拽读取文件和文件夹

    1)拖拽方面的重点是:ondragover 事件 和 ondrop 事件 ondragover 是必须的,ondragover 事件里禁用掉 html 的默认事件,否则 ondrop 事件将无效(直接 ...