1、JDBC连接数据库步骤(六个步骤)
1.注册驱动:
Class.forName("com.mysql.jdbc.Driver");
显示的加载到JVM中
2.获取连接:
(1)
- 要连接数据库的url----
String url="jdbc:mysql://localhost:3306/test?"+ "useUnicode=true&characterEncoding=UTF8";//防止乱码
- 要连接数据库的用户名----
String user="xxxx";
- 要连接数据库的密码----
String pass="xxxx";
//DriverManager下的方法:getConnection(String url,String username,String password)
Connection conn=DriverManager.getConnection(url,user,pass);
(2)
接下来我们分析下url:
"jdbc(这是协议以jdbc开头):mysql(这是子协议,数据库管理系统称)://localhost(数据库来源地址):3306(目标端口)/test(要查询的表)?"
"useUnicode=true&characterEncoding=UTF8";
添加这个是为了防止乱码,指定使用Unicode字符集 ,且使用UTF-8来编辑。
3.创建一个Statement语句对象
(主要三种方法):
//Connection接口下的方法:Statement createStatement()
Statement stmt=conn.createStatement();
PreparedStatement pstmt = conn.PreparedStatement() ;
CallableStatement cstmt = conn.prepareCall("{CALL demoSp(? , ?)}") ;
下面我们来分析下他们:
Statement与 PreparedStatement对象的区别,PreparedStatement可以动态设置查询参数
设置参数的方法
PreparedStatement.setXXXX(parameterIndex,value)
,如果数据库参数类型是varchar则用setString,如果参数类型是Integer 则用setIntCallableStatement.setXXXX(parameterIndex,value)
//按照参数的顺序设置value
CallableStatement.setXXXX(parameterName,value)
//按照参数的名字来设置value,这个名字是在定义存储过程的时候的形式参数的名字CallableStatement.registerOutParameter
方法用于声明一个存储过程输出类型的参数,用以接收存储过程的输出值
4.执行SQL语句:
除了查询语句是executeQuery();其他全部是executeUpdate();
ResultSet rs=stmt.executeQuery(Sql);
Statement接口下的方法:
boolean execute(String sql)
----执行SQL语句,如果返回值是结果集则为true,否则为falseResultSet executeQuery(String sq
l)----执行SQL语句,返回值为ResultSetint executeUpdate(String sql)
----执行SQL语句,返回值为所影响的行数
5.处理结果集:
ResultSet对象的getXxxx方法,取决于数据库中表的字段的类型,例如:varchar2 对应方法是getString ,如果是 integer 对应方法是getInt/getLong
While(rs.next()){rs.getInt(columnIndex); //通过列的序号来获取字段的值rs.getString(columnName);//通过列的名字来获取字段的值
ResultSet接口下常见的方法:
- beforeFirst()----将游标移动到ResultSet中第一条记录(的前面)
- afterLast()----将游标移动到ResultSet中最后一条记录(的后面)
- absolute(intcolumn)----将游标移动到相对于第一行的指定行,负数则为相对于最后一条记录
- previous()----将游标上移一行
- next()----将游标下移一行
- ResultSet.TYPE_SCROLL_SENSITIVE----结果集可以滚动
- ResultSet.CONCUR_READ_ONLY ----结果集只读,不能修改
6.关闭资源:
操作完以后要关闭jdbc来释放jdbc资源。但是顺序要和你定义对象的时候相反,就像关门一样,从里面先关,一直往外关。
如下示例:
if(rs !=null){//1.关闭结果集try{rs.close();} catch (SQLException e){e.printStackTrace();}}if(stmt !=null){//2.关闭声明的对象try{stmt.close();}catch(SQLException e){e.printStackTrace();}}if(conn !=null){//3.关闭连接 (记住一定要先关闭前面的1.2.然后在关闭连接)try{conn.close();}catch(Exception e){e.printStackTrace();}}
一个简单的(详细的)查询数据的例子:
public class jdbcTest {public static void main(String[] args) throws Exception {String jdbcName="com.mysql.jdbc.Driver";//定义驱动程序名为jdbcName内容为com.mysql.jdbc.DriverString dbUserName="root";//定义用户名,写你想要连接到的用户。String dbPassword="root";//用户密码。//定义url;jdbc是协议;mysql是子协议:表示数据库系统管理名称;localhost:3306是你数据库来源的地址和目标端口;test是我本人建的表位置所在处,你以你的为标准。//防止乱码;useUnicode=true表示使用Unicode字符集;characterEncoding=UTF8表示使用UTF-8来编辑的。String dbUrl="jdbc:mysql://localhost:3306/book?"+"useUnicode=true&characterEncoding=UTF8";String sql="select * from student";//定义查询语句Class.forName(jdbcName); //注册驱动程序,用java.lang包下面的class类里面的Class.froName();方法 此处的driver就是1里面定义的driver,也可以 Class.forName("com.mysql.jdbc.Driver");Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);//获取数据库连接,使用java.sql里面的DriverManager的getConnectin(String url , String username ,String password )来完成//构造一个statement对象来执行sql语句:主要有Statement,PreparedStatement,CallableStatement三种实例来实现//三种实现方法分别为:Statement stmt = con.createStatement() ; // PreparedStatement pstmt = conn.prepareStatement(sql) ; //CallableStatement cstmt = conn.prepareCall("{CALL demoSp(? , ?)}") ;Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery(sql);//执行sql并返还结束 ;ResultSet executeQuery(String sqlString):用于返还一个结果集(ResultSet)对象。//遍历结果集while(rs.next()){System.out.println("学生编号:"+rs.getInt("stuId")+",学生姓名:"+rs.getString("stuName")+",学生性别:"+rs.getString("stuSex")+",学生年龄:"+rs.getInt("stuAge"));//使用getString()方法获取你表里的资料名}if(rs!=null){//关闭记录集try{rs.close();}catch(Exception e){e.printStackTrace();}}if(stmt!=null){//关闭说明对象try{stmt.close();}catch(SQLException e){e.printStackTrace();}}if(con!=null){//关闭连接,就像关门一样,先关里面的,最后关最外面的try{con.close();}catch(SQLException e){e.printStackTrace();}}}
}
1、JDBC连接数据库步骤(六个步骤)相关推荐
- JDBC编程的六个步骤以及使用示例(详细)
JDBC编程的六个步骤 1.注册驱动:通知Java程序我们要连接的是哪个品牌的数据库 2.获取数据库连接:Java进程和Mysql进程之间的通道开启了 3.获取数据库操作对象:这个对象是用来执行sql ...
- JAVA JDBC连接数据库操作的基本步骤
JAVA中JDBC连接数据库操作的基本步骤.注:假定连接数据库的用户名为root,密码为root. 步骤一: 定义连接数据库的相关信息 步骤一: 定义连接数据库的相关信息(1) 连接数据库的驱动:8. ...
- JDBC连接数据库的8个步骤
package jdbcStudy;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLExce ...
- jdbc连接数据库的代码和步骤
jdbc连接数据库的代码和步骤 学习目标 jdbc连接数据库的代码和步骤 1.加载JDBC 驱动程序: 2.提供JDBC连接需要的URL 3.创建数据库的连接 4.创建一个Statement 5.执行 ...
- JDBC连接数据库的七个步骤(超详细)
JDBC连接数据库 1.JDBC所需的四个参数(user,password,url,driverClass) 2.加载JDBC驱动程序 3.创建数据库的连接 4.创建一个preparedStateme ...
- JDBC连接数据库的原理和步骤
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- JDBC编程的六个步骤
第一步:注册驱动(告诉Java程序,即将要连接那个品牌的数据库) 第二步:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完后一定要关闭) 第三步:获取数据 ...
- JDBC 连接数据库的四种方式
JDBC 连接数据库的四种方式 每博一文案 师傅说,人这一辈子总有许多遗憾,许多无可奈何. 其实有些事情不用太过执着,放下牵绊你的生活无畏执念,你会收获一个更为广阔的天地. 想开,看开,放开这六个字, ...
- JDBC编程——JDBC连接数据库六步骤
JDBC编程的6步骤 实现数据库连接之前,我们要先理解一下URL(统一资源定位器): 是跟数据库进行连接的时候,用来连接到指定远程数据库标识符. 可以在该URL中指定连接用户名和密码,同时,对于不同的 ...
最新文章
- 第六周项目一-分数类的雏形(2)
- 前端知识点回顾之重点篇——JavaScript异步机制
- 算法导论中C语言代码,算法导论-学习笔记与进度
- OPMS项目管理系--新增加项目报表统计
- vue项目使用npm run dev 编译到一半不动了
- js获取当前日期并格式化(多种格式)
- TCP服务器epoll的多种实现
- 有关GNU GCC的基本内容整理
- Python实现AES加密进行PKCS5Padding的填充
- 用python当壁纸_使用Python脚本将Bing的每日图片作为桌面的教程
- 【华为云技术分享】云图说|华为HiLens:端云协同多模态AI开发应用平台
- ie运行不了java脚本界面_IE浏览器不能运行js JS代码失效不能运行了如何解决
- Flutter基础—手势处理
- java二分查找算法字符串数组_Java 算法——二分查找数组集合关键元素
- python的dropna 和notna的性能_python轻松滤除缺失数据
- java 爬虫大型教程(一)
- VMWare安装配置Win7详解
- android studio 4.0 开启offline
- 前端面试——安全相关
- HMS Core 5,activity事件分发
热门文章
- 保定学院计算机专业录取分数线,2021年保定学院各省各专业最低投档录取分数线统计(文科 理科)...
- 什么对象都有prototype吗?
- 几个超级大美女的搞钱经历!(限时删)
- 用通配符批量替换日期中的年月日格式2021-04-20
- 【Python入门】Python的判断语句(判断语句的嵌套)
- 关于史考特证券(scottrade Inc)资金转出的手续费问题
- HTML 中表格table 的相关知识
- 程序员之路——一个老程序员对刚上大学的学弟学妹的忠告
- Qt5和Qt4的区别
- FastReport Online Designer中文教程:数据处理