中阶d03.1 JDBCDemo
1. jdbc使用查看驱动的doc文档《connector-j.html》
2.代码实现:1. 注册驱动---2. 建立连接---3. 创建statement ,跟数据库打交道---
---4. 执行sql,得到ResultSet---5. 遍历结果 ---6. 释放资源
package zj_1_JDBC;
import java.sql.*;
public class MainTest {
    public static void main(String[] args) throws ClassNotFoundException {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver"); //注册驱动这步可以写也可以不用写
        String url = "jdbc:mysql://localhost/student";
        String username = "root";
        String password = "root";
        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        try {
        //建立连接
            conn = DriverManager.getConnection(url,username,password);
            // 创建statement
            st = conn.createStatement();//创建statement ,跟数据库打交道,一定需要这个对象
            // 执行sql,得到ResultSet
            String sql = "SELECT * FROM users WHERE name = '小明'";
            rs = st.executeQuery(sql);
            // 遍历结果
            while (rs.next()) { //rs.next() 当读到行末尾时会返回false,下一行有数据则返回true
                int id = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                System.out.println(id+""+name+","+age);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            // 释放资源
            JDBCUtil.release(conn,st,rs);
           /* try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }*/
        }
    }
}
工具类,整合释放资源方法
package zj_1_JDBC; import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class JDBCUtil {
Connection conn = null;
Statement st = null;
ResultSet rs = null; public static void release(Connection conn, Statement st, ResultSet rs) {
closeRs(rs);
closeSt(st);
closeConn(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 closeConn(Connection conn) {
try {
if(conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
conn = null;
}
}
}
中阶d03.1 JDBCDemo的更多相关文章
- 中阶 d03.5 (正篇)完整的Dao 操作数据库
		1.目录结构: util---JDBCUtil.java(工具包,整合建立链接和释放资源的方法) dao---UserDao.java(接口,定义方法) impl---UserDaoImpl.java ... 
- 中阶d03.2 JDBC联合properties使用,通过读取本地配置文件为代码传递参数
		* 使用properties读取本地配置文件为代码传递参数 * url.用户名.密码.驱动地址等配置可以在配置文件中使用 main package zj_1_JDBC.properties; impo ... 
- 中阶d03 JDBC 使用
		1.首先在数据库中创建表 2.安装mysql驱动 java开发环境中导入jdbc连接mysql的jar包 mysql-connector-java-5.1.7-bin.jar 下载地址:https:/ ... 
- 中阶d03.4 JDBC_DAO
		1.环境准备(单项目下用,在大jdbc项目下只用配置一次) jdbc的驱动(mysqlxxjdbc.jar).util工具(包装释放资源.建立连接.访问properties文件等方法) 2.dao的概 ... 
- 中阶d03.3 JDBC_CURD_Util --- 使用 junit执行单元测试(增删改查)
		1.单元测试环境准备 https://www.cnblogs.com/longesang/p/11399010.html 2.测试 3.结果返回 4.代码 新建一个test目录统一存放测试案例 查: ... 
- R_数据视觉化处理_中阶_05
		条形图:条形图通过垂直或水平的条形展示了类型变量的分布(频数).最简单的用法为:barplot(height),height为矩阵或向量. horiz=TRUE选项:表示水平,在此之前先使用table ... 
- 中阶 d05 tomcat 安装 eclipse上配置tomcat
		eclipse使用参考 https://www.bilibili.com/video/av49438855/?p=24 1. 直接解压 ,然后找到bin/startup.bat 2. 可以安装 启动之 ... 
- 中阶 d04.1 xml解析
		##XML 解析 > 其实就是获取元素里面的字符数据或者属性数据. ###XML解析方式(面试常问) > 有很多种,但是常用的有两种. * DOM * SAX  { CGFloat red = (hexValue ... 
- Linux你不知道的ping操作
			1.指定ping的次数 -c 选项 ping -c 3 www.baidu.com 2.只返回结果 -q 选项 ping -q -c 3 www.baidu.com 3.指定数据包的大小 -s ... 
- [转载]-虚拟键值表-virtual key code
			转载 虚拟键值表, virtual key code Virtual-Key Codes VK_LBUTTON (01)Left mouse button VK_RBUTTON (02)Right ... 
- 跟面试官侃半小时MySQL事务隔离性,从基本概念深入到实现
			提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关. 而事务的ACID(即原子性Atomicity.一致性Consiste ... 
- Docker Data
			docker data 六.Docker存储 docker存储驱动storage driver(优先使用linux默认的storage driver,因为比较稳定) ubuntu:aufs,/var/ ... 
- Activiti入门案例
			一.流程定义 Activiti-Designer 使用 Palette(画板) 在eclipse 或 idea 中安装activiti-designer 插件即可使用,画板中包括以下结点: Conne ... 
- 移动深度学习 Mobile-deep-learning(MDL)
			Free and open source mobile deep learning framework, deploying by Baidu. This research aims at simpl ... 
- 自适应线性神经网络Adaline
			自适应线性神经网络Adaptive linear network, 是神经网络的入门级别网络. 相对于感知器, 采用了f(z)=z的激活函数,属于连续函数. 代价函数为LMS函数,最小均方算法,Lea ... 
- iOS 页面流畅技巧(2)
			一.屏幕显示图像的原理 首先从过去的 CRT 显示器原理说起.CRT 的电子枪按照上面方式,从上到下一行行扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次扫描.为了把显示器的显示 ... 
