使用jdk中的java.sql包中的方法进行jdbc连接
首先说明用 java.sql包进行jdbc连接的步骤:
1.加载数据库的驱动。(一般是oracle和mysql,oracle的数据驱动名是:Oracle.jdbc.driver.OracleDriver mysql的驱动名是:com.mysql.jdbc.Driver)
2.获得连接
3.获得预编译对象,
4.绑定参数。
5.执行sql
6.获得结果集,遍历得出结果。
7.关闭连接。
说明这里用的是mysql数据库:数据库名如下所示:
代码如下所示:
package com.qls.mybatis.first; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class CrudJDBCTest { /**
* 使用原生态的jdbc进行数据库连接。
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
//Connection 接口,与特定数据库的连接。
Connection connection=null;
//预编译对象
PreparedStatement preparedStatement=null;
//结果集
ResultSet resultSet=null;
try {
//加载驱动:这里加载的是mysql驱动。mysql的驱动是:com.mysql.jdbc.Driver
Class.forName("com.mysql.jdbc.Driver");
/**
* wms-elite本机测试版是连接的数据库名
* root:是用户名。
* a123456:是密码。
*/
connection=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/wms-elite本机测试版?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true",
"root", "a123456");
//获取PreparedStatement对象:
String sql="SELECT *from user where address=?";
preparedStatement=connection.prepareStatement(sql);
//绑定参数:
preparedStatement.setString(1, "北京市");
//执行查询,查询出结果。
resultSet=preparedStatement.executeQuery();
while(resultSet.next()){
System.out.println("用户名是:"+resultSet.getString("username")+"\n"+"性别是:"+resultSet.getString(4));
}
} catch (Exception e) {
e.printStackTrace();
}finally{
/**
* 关闭数据库连接。
* 关闭的顺序是:ResultSet,PreparedStatement,Connection.
*/
if (resultSet!=null) { resultSet.close();//关闭结果集
}
if (preparedStatement!=null) { preparedStatement.close();//关闭预编译对象
}
if (connection!=null) { connection.close();//关闭连接。
} }
} }/*output:
用户名是:张三
性别是:1
*///:~
上面的代码基本上对重要的语句都进行了注释。输出结果:
用户名是:张三
69 性别是:1
见下图所示:
使用jdk中的java.sql包中的方法进行jdbc连接的更多相关文章
- java.io包中的字节流—— FilterInputStream和FilterOutputStream
接着上篇文章,本篇继续说java.io包中的字节流.按照前篇文章所说,java.io包中的字节流中的类关系有用到GoF<设计模式>中的装饰者模式,而这正体现在FilterInputStre ...
- 1.java.io包中定义了多个流类型来实现输入和输出功能,
1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分 类,按功能分为:(C),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(G) A.输入流和输出流 B ...
- 集合框架的类和接口均在java.util包中。 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。
集合框架的类和接口均在java.util包中. 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换.
- Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类
因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...
- Java日期时间API系列13-----Jdk8中java.time包中的新的日期时间API类,时间类转换,Date转LocalDateTime,LocalDateTime转Date等
从前面的系列博客中可以看出Jdk8中java.time包中的新的日期时间API类设计的很好,但Date由于使用仍非常广泛,这就涉及到Date转LocalDateTime,LocalDateTime转D ...
- Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。
通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...
- Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析
目录 0.前言 1.TemporalAccessor源码 2.Temporal源码 3.TemporalAdjuster源码 4.ChronoLocalDate源码 5.LocalDate源码 6.总 ...
- Java日期时间API系列11-----Jdk8中java.time包中的新的日期时间API类,使用java8日期时间API重写农历LunarDate
通过Java日期时间API系列7-----Jdk8中java.time包中的新的日期时间API类的优点,java8具有很多优点,现在网上查到的农历转换工具类都是基于jdk7及以前的类写的,下面使用ja ...
- Java日期时间API系列12-----Jdk8中java.time包中的新的日期时间API类,日期格式化,常用日期格式大全
通过Java日期时间API系列10-----Jdk8中java.time包中的新的日期时间API类的DateTimeFormatter, 可以看出java8的DateTimeFormatter完美解决 ...
随机推荐
- hasOwnProperty自我理解
暂时不考虑ES6中symbol,hasOwnProperty()方法返回的是一个对象上是否包含一个指定属性,如果含有则返回true,如果没有则返回false. 和 in 运算符不同,该方法会忽略掉 ...
- 使用file_get_contents()和curl()抓取网络资源的效率对比
使用file_get_contents()和curl()抓取网络资源的效率对比 在将小程序用户头像合成海报的时候,用到了抓取用户头像对应的网络资源,那么抓取方式有很多,比如 file_get_cont ...
- vue 改变我们插值的符号{{}}改为${}
delimiters的作用是改变我们插值的符号.Vue默认的插值是双大括号{{}}.但有时我们会有需求更改这个插值的形式. delimiters:['${','}'] 现在我们的插值形式就变成了${} ...
- git 代码托管使用方法
Git代码托管 1 准备材料 在coding,github这些代码托管网站上申请一个账户. Linux平台什么需要一个git,如ubuntu 需要 $ sudo apt-get install git ...
- 处理nginx访问日志,筛选时间大于1秒的请求
#!/usr/bin/env python ''' 处理访问日志,筛选时间大于1秒的请求 ''' with open('test.log','a+',encoding='utf-8') as f_a: ...
- python学习之循环语句
编程语言中的循环语句,以循环判断达式是否成立为条件,若表达式成立则循环执行该表达式,若不成立则跳出当前执行执行语句且继续执行其后代码. 如下图所示. Python中提供以下循环方式 循环类型 描述 w ...
- Pandas 数据结构Series:基本概念及创建
Series:"一维数组" 1. 和一维数组的区别 # Series 数据结构 # Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象 ...
- [BZOJ2427][HAOI2010]软件安装(tarjan+树形DP)
如果依赖关系出现环,那么对于一个环里的点,要么都选要么都不选, 所以每个环可以当成一个点,也就是强连通分量 然后就可以构造出一颗树,然后树形背包瞎搞一下就行了 注意要搞一个虚拟节点当根节点 Code ...
- ABAP 7.51 構文書き方変換について
便利になったなぁと感じたコマンドのメモです.NetWeaver7.40 SP2から使えます. SAP NetWeaver AS for ABAP 7.51 Innovation Package – O ...
- 笔记-scrapy-scarpyd
笔记-scrapy-scarpyd 1. scrapy部署 会写爬虫之后就是部署.管理爬虫了,下面讲一下如何部署scrapy爬虫. 现在使用较多的管理工具是Scrapyd. scrapyd是 ...