java连接数据库操作--第一个例子
来源:互联网 发布:饿了么算法工程师 编辑:程序博客网 时间:2024/06/10 17:43
- jdbc概念
- java database connect
- java访问数据库平台的统一接口,但是jdbc有缺陷,就是不同数据库的sql语句并没有统一
- jdbc需要在程序中写不同的sql语句,hibernate就完全屏蔽了这种区别
- 在开发端,有统一的JDBC接口,在数据库端,不同的数据库有不同的JDBC接口(类库)
- 核心类介绍
- JDBC中的核心类
- DriverManager
- DriverManger(驱动管理器)的作用有两个:
- 注册驱动:这可以让JDBC知道要使用的是哪个驱动;
- 获取Connection:如果可以获取到Connection,那么说明已经与数据库连接上了。
- Connection
- Connection对象表示连接,与数据库的通讯都是通过这个对象展开的:
- Connection最为重要的一个方法就是用来获取Statement对象;
- Statement
- Statement是用来向数据库发送SQL语句的,这样数据库就会执行发送过来的SQL语句
- int executeUpdate(String sql):执行更新操作,即执行insert、update、delete语句,其实这个方法也可以执行create table、alter table,以及drop table等语句,但我们很少会使用JDBC来执行这些语句;
- ResultSet executeQuery(String sql):执行查询操作,执行查询操作会返回ResultSet,即结果集。
- boolean execute():Statement还有一个boolean execute()方法,这个方法可以用来执行增、删、改、查所有SQL语句。该方法返回的是boolean类型,表示SQL语句是否执行成功。
- 如果使用execute()方法执行的是更新语句,那么还要调用int getUpdateCount()来获取insert、update、delete语句所影响的行数。
- 如果使用execute()方法执行的是查询语句,那么还要调用ResultSet getResultSet()来获取select语句的查询结果。
- ResultSet
- ResultSet executeQuery(String sql):执行查询操作,数据库在执行查询后会把查询结果,查询结果就是ResultSet;
- ResultSet对象表示查询结果集,只有在执行查询操作后才会有结果集的产生。
- 结果集是一个二维的表格,有行有列。操作结果集要学习移动ResultSet内部的“行光标”,以及获取当前行上的每一列上的数据:
- boolean next():使“行光标”移动到下一行,并返回移动后的行是否存在;
- XXX getXXX(int col):获取当前行指定列上的值,参数就是列数,列数从1开始,而不是0。
- DriverManager
- JDBC中的核心类
- 第一个程序
- 导入mysql的驱动jar包mysql-connector-java-5.1.39-bin.jar;
- 写第一个测试程序,连接mysql并查询
package com.qiaolei;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import org.junit.Test;public class ConDb {@Testpublic void test() throws ClassNotFoundException, SQLException {// 注册驱动,只用加载这个类,在static代码块中会自动注册驱动// 出现异常ClassNotFoundException只有两个原因:// 1.你没有给出mysql的jar包;// 2.你把类名称打错了,查看类名是不是com.mysql.jdbc.DriverClass.forName("com.mysql.jdbc.Driver");// 获得连接// 参数格式第一部分是jdbc,这是固定的;// 第二部分是数据库名称,那么连接mysql数据库,第二部分当然是mysql了;// 第三部分是由数据库厂商规定的,我们需要了解每个数据库厂商的要求,// mysql的第三部分分别由数据库服务器的IP地址(localhost)、端口号(3306),以及DATABASE名称(mydb1)组成。// ?后面跟连接参数// 出现SQLException有可能是连接的三个参数写错了Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ecshop?useUnicode=true&characterEncoding=UTF8", "root", "123456");// Statement是用来向数据库发送要执行的SQL语句的!Statement stmt = con.createStatement();// 发送sql查询语句String sql = "select * from ecs_article";ResultSet rs = stmt.executeQuery(sql);// ResultSet对象是一个二维数组,next()方法用于将光标移到下一行,并返回是否有下一行// getXX(列数或列名)返回当前行某列的值while (rs.next()) {int id = rs.getInt(1);String title = rs.getString(3);System.out.println(id + ", " + title);}// 释放资源,顺序和创建的顺序相反rs.close();stmt.close();con.close();}}
阅读全文
0 0
- java连接数据库操作--第一个例子
- 第一个例子解释_面向连接
- java.io 第一个例子 TestFileInputStream
- 5、第一个例子
- opengl 第一个例子
- hibernate第一个例子
- ajax 第一个例子
- JavaBeans第一个例子
- SiteMesh第一个例子
- Mina第一个例子
- Hibernate---->第一个例子
- Servlet第一个例子
- struts2第一个例子
- struts2第一个例子
- zTree第一个例子
- AJAX 第一个例子
- Hibernate第一个例子
- Mybatis第一个例子
- 字符串数组与指针
- JAVA SkipList 跳表 的原理和使用例子
- CommonJS,AMD模块加载规范
- 关于MIPI协议(二)——利用Cypress的工具实例分析MIPI收发器时钟参数配置方法
- JavaScript 对象
- java连接数据库操作--第一个例子
- C++学习笔记--继承初识
- Qt项目中如何添加资源文件?
- matlab中sptool工具箱使用及介绍
- Java基础
- js、其他类型与Boolean类型转换
- pandas导入错误
- 生活小记60
- value参数的作用是cookie值的字符串形式