2019-06-12 Java学习日记之JDBC
使用JDBC的基本步骤:
1. 注册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
2. 建立连接
//DriverManager.getConnection("jdbc:mysql://localhost/test?user=monty&password=greatsqldb");
//2. 建立连接 参数一: 协议 + 访问的数据库 , 参数二: 用户名 , 参数三: 密码。
conn = DriverManager.getConnection("jdbc:mysql://localhost/student", "root", "root");
3. 创建statement
//3. 创建statement , 跟数据库打交道,一定需要这个对象
st = conn.createStatement();
4. 执行sql ,得到ResultSet
//4. 执行查询 , 得到结果集
String sql = "select * from t_stu";
rs = st.executeQuery(sql);
5. 遍历结果集
//5. 遍历查询每一条记录
while(rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id="+id + "===name="+name+"==age="+age);
}
6. 释放资源
if (rs != null) {
try {
rs.close();
} catch (SQLException sqlEx) { } // ignore
rs = null;
}
package com.test;import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;import com.mysql.jdbc.Driver; import com.util.JDBCUtil;public class MainTest {public static void main(String[] args) {Connection conn = null;Statement st = null;ResultSet rs = null;try {// 1、注册驱动DriverManager.registerDriver(new Driver());// DriverManager.getConnection("jdbc:mysql://localhost/test?user=test&password=test");// 2、建立连接conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "root");// 3、创建Statement,跟数据库打交道,一定需要这个对象st = conn.createStatement();// 4、执行查询String sql = "select * from t_stu";rs = st.executeQuery(sql);// 5、遍历查询每一条记录while (rs.next()) {int id = rs.getInt("id");String name = rs.getString("name");int age = rs.getInt("age");System.out.println("id" + id + "-----name=" + name + "-----age=" + age);}} catch (SQLException e) {e.printStackTrace();} finally {JDBCUtil.release(conn, st, rs);}} }
JDBCUtil.java
package com.util;import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;public class JDBCUtil {/*** 释放资源* @param conn* @param st* @param rs*/public static void release(Connection conn, Statement st, ResultSet rs){closeRs(rs);closeSt(st);closeCoon(conn);}private static void closeRs(ResultSet rs) {try {if (rs != null) {rs.close();}} catch (SQLException e) {e.printStackTrace();}finally {rs = null;}}private static void closeSt(Statement st) {try {if (st != null) {st.close();}} catch (SQLException e) {e.printStackTrace();}finally {st = null;}}private static void closeCoon(Connection conn) {try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}finally {conn = null;}} }
JDBC工具类构建:
1、资源释放工作的整合
2、驱动防二次注册
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Driver 这个类里面有静态代码块,一上来就执行了,所以等同于我们注册了两次驱动。其实没必要
改动成以下代码即可
Class.forName("com.mysql.jdbc.Driver");
3、使用properties配置文件
1、在src底下声明一个文件 xxx.properties,里面的内容如下
driverClass=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost/studentname=rootpassword=root
2、在工具类里面,使用静态代码块,读取属性
static{try {//1. 创建一个属性配置对象Properties properties = new Properties();InputStream is = new FileInputStream("jdbc.properties"); //对应文件位于工程根目录//使用类加载器,去读取src底下的资源文件。 后面在servlet //对应文件位于src目录底下//InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");//导入输入流。 properties.load(is);//读取属性driverClass = properties.getProperty("driverClass");url = properties.getProperty("url");name = properties.getProperty("name");password = properties.getProperty("password");} catch (Exception e) {e.printStackTrace();}}
转载于:https://www.cnblogs.com/clqbolg/p/11037390.html
2019-06-12 Java学习日记之JDBC相关推荐
- Java学习日记1——基础认知
Java学习日记1--基础认知 学习Java阶段,如果发现不正确的描述,还请指正! 首先附上Java相关下载链接和配置教程链接 Java相关软件工具下载地址:官方下载 Java环境配置(win10配置 ...
- Java学习日记-Day01
Java学习日记-Day01 Java语言概述 比特(byte)与字节 内存 Java基础知识图解 人机交互方式 常用的DOS命令 常用快捷键 计算机编程语言介绍 第一代语言 第二代语言 第三代语言 ...
- 尚学堂Java学习日记Day3
尚学堂Java学习日记Day3 第三天老师先回顾了昨天的内容我从回顾中掌握了新的知识 如下图所示 int与double计算,输出类型为double的不同结果 会把int转成double类型的,这是隐式 ...
- Java学习日记:UI篇(6)--谢尔宾斯基地毯图
Java学习日记:UI篇(6)–谢尔宾斯基地毯图 引言:谢尔宾斯基地毯是数学家谢尔宾斯基提出的一个分形图形,谢尔宾斯基地毯和谢尔宾斯基三角形基本类似,不同之处在于谢尔宾斯基地毯采用的是正方形进行分形构 ...
- 【日记】Java学习日记(第63天)持续无聊更新
前言 Youtube上EJ Media(up主)的视频我依次学完了HTML.CSS.Javascript.Jquery.觉得他教得挺好的(短小精悍),就继续学他教的JAVA.感觉EJ教的都是些语法什么 ...
- 2019年新版Java学习路线图(内含大纲+视频+工具+书籍+面试)
一.2019新版Java学习路线图---每阶段市场价值及可解决的问题 二.2019新版Java学习路线图---学习大纲及各阶段知识点 三.2019新版Java学习路线图---升级后新增知识点一览 四. ...
- 尚学堂Java学习日记Day1
尚学堂学习日记Day1 #今天开始写学习博客记录自己学习java的点滴成长历程,希望能成为学弟学妹们的前车之鉴. 先大概的自我介绍下,我原本从事的是网络工程师,学习的是Cisco(思科)并拥有CCNP ...
- Java学习日记8:文件上传工具类的实现和服务器给客户端发送图片
文件上传的工具类: 每次文件上传要写很多东西,把这些封装成一个工具类,以后用起来就会方便很多. 先创建一个类存储上传文件的信息: package com.upload; /*** 每上传成功一个文件的 ...
- 黑马程序员--Java学习日记之网络编程
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.网络编程概述 1.计算机网络 计算机网络是指将地理位置不同的具有独立功能的多台计算机及 ...
最新文章
- webService——学习(3):使用JDK开发webService
- vue项目调用jssip_JsSIP和FreeSWITCH整合
- python依赖包是什么意思_Python引入依赖curses包的坑
- 【Flink】Flink如何传递JVM参数给JobManager和TaskManager
- UI设计干货模板|引导网格系统
- day26(模块 logging 高级用法、collection、random)
- vim保存文件时,生成.un~文件
- 目标检测(Object Detection)—— M2Det
- 计算机二级vb题库公众号,计算机二级vb题库
- 【Web前端面试笔试题】2022.08
- 15款国内外知名优秀PHP集成环境推荐、PHP绿色集成环境推荐
- 计算机专业sci二区难吗,二区的sci有多难?sci二区版面费一般多少?
- 武汉工程大学计算机类专业排名,2019武汉工程大学专业排名
- uniapp 跳转到外部链接
- matlab 绘图与动画制作
- MySql简单入门_第四篇 高级使用(4)_触发器
- VBA 关于for循环和变量的测试, for 循环的自变量i会停留在i+1,自变量会基于最新变化改变
- 枯燥的Kotlin协程三部曲(上)——概念启蒙篇
- TL-link WAR1208L多wan路由器带宽叠加设置
- JAVA中如何将大数字或字符串放进数组