数据库JDBC的基本内容
JDBC
基本流程
首先向项目中导入jar包
创建如下代码
Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/mybase";String username="root";String password="123";con = DriverManager.getConnection(url, username, password);
- 使用方法
String sql = "select * from user where name=?"; // sql语句PreparedStatement stmt = connection.prepareStatement(""); // 预编译stmt.setString(1, "lll"); // 给?占位符赋值ResultSet result = stmt.executeQuery(); // 取得查询的结果集对象while(result.next()){ // 遍历结果集,如果结果集中没有对象的话result.next()会返回nullString str = result.getString(1); // 取出结果集中的对象(列,列名)}stmt.executeUpdate(); // 数据更新使用的方法connection.close(); // 关闭资源stmt.close();
加载properties配置文件
将数据库的信息配置在properties中可以增加代码的灵活性,修改的时候不需要去改动代码.
可以将properties文件放在src文件夹下面,这样编译完以后properties文件就会编译到bin文件夹中,可以通过类加载器获取.
InputStream in = JDBCUtilsConfig.class.getClassLoader().getResourceAsStream("database.properties");
JDBC工具类DBUtils
- 封装了JDBC的操作,减少代码量
基本操作
- 首选创建DBUtils对象,传递的参数为DateSource
private static QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
数据的更新操作, 可变参数的位置可以依次传递参数,也可以传递一个数组
qr.update(sql,Object... param)
DBUtils实现了查询结果自动封装到Bean Object List Map 操作,所以使得对数据库的操作变得更加简单
query( String sql, ResultSetHandler<T> rsh, Object... params) // query的构造函数,可以传递ResultSetHandler来实现查询结果的自动封装
ArrayHandler // 将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值
ArrayListHandler // 将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。
BeanHandler // 将结果集中第一条记录封装到一个指定的javaBean中。
BeanListHandler // 将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
ColumnListHandler // 将结果集中指定的列的字段值,封装到一个List集合中
ScalarHandler // 它是用于单数据。例如select count(*) from 表操作。
MapHandler // 将结果集第一行封装到Map集合中,Key 列名, Value 该列数据
MapListHandler // 将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合
qr.query(conn, sql, new ArrayHandler(), params); // 然后返回值为对应的Handler返回的类型
连接池
实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection。这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池,当需要使用Connection时候,可以直接从连接池中获取Connection,当我们用完了Connection时,调用close()方法把这个Connection放回到池中,减少了系统的开销.
转载于:https://www.cnblogs.com/liyuhui-Z/p/7725434.html
数据库JDBC的基本内容相关推荐
- java 数据库排序_Java如何排序数据库表的数据内容?
在Java编程中,如何排序数据库表的数据内容?假定数据库名称是:testdb,其中有一个表:employee,这个表中有4条记录. 创建数据库表的语句 - use testdb; create tab ...
- java 实验十 数据库实验_数据库实验十[荟萃内容]
<数据库实验十[荟萃内容]>由会员分享,可在线阅读,更多相关<数据库实验十[荟萃内容](9页珍藏版)>请在人人文库网上搜索. 1.北京建筑大学理学院 信息与计算科学专业 实验报 ...
- mysql制作html静态网页6_将数据库中的所有内容生成html静态页面的代码
将数据库中的所有内容生成html静态页的代码,比较简单了,有需要的朋友可以参考下. 复制代码 代码如下: require_once("conn.php"); if($_GET['a ...
- php数据库可转java数据库,php转java 系列2 Spring boo 链接数据库jdbc
php转java 系列2 Spring boo 链接数据库jdbc JDBC 首先创建一个新项目,在创建项目时要注意导入依赖, 在项目创建成功后就会看到在 pom.xml 文件中找到,但是如果在创建项 ...
- 数据库+jdbc实现学生教师管理
数据库+JDBC实现学生教师管理系统 这次主要是假期自学了数据库,自己做了一个简单的项目来加深自己的理解,本次程序没有加Swing窗体,后续会更新新的加swing窗体的程序, 主要功能: 1,学生老师 ...
- Android studio根据文本提取出的关键词在sqlite数据库中查找相关内容
Android studio根据文本提取出的关键词在sqlite数据库中查找相关内容 一.介绍 二.Android studio连接.操作和查看sqlite数据库 三.在数据库中查找相关内容 四.运行 ...
- 【mysql创建数据库以及表添加内容】
mysql创建数据库以及表添加内容 第一步 先打开cmd 第二步 输入mysql -u root -p,然后就进入mysql 第三步 创建数据库 create database [数据库名],这里我用 ...
- 【全年汇总】2023年CCF数据库/数据挖掘/内容检索会议截稿时间汇总(持续更新)
本博文是根据CCF会议推荐的数据库/数据挖掘/内容检索领域相关会议目录撰写. 一.截稿时间总览 截稿时间的总时间轴内容将会持续更新...... 往年投稿及录用情况及链接详见图片后面的内容. 二.会议详 ...
- 读取Excel文件并用jdbc连接将内容导入MySQL数据库
Excel文件 依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency>< ...
- MySQL数据库+jdbc -- 笔记
MySQL数据库 @Draven Mysql 1.连接数据库 1.1.下载可视化软件 1.2.连接数据库 1.3.连接命令 1.4.基本语法操作 2.操作数据库 2.1.操作数据库(了解) 2.2.数 ...
最新文章
- QT:(4)解决在VS15下配置QT后没有QT GUI Application选项
- 迁移博客到香港虚拟空间
- Oracle Goldengate Windows平台Oracle-Oracle单向复制
- 强势推荐8个功能强大,鲜为人知的实用软件
- 同等质量下那种图片格式小_八个PPT图片处理必会的神技巧,帮你轻松做出高质量PPT...
- 接口隔离原则_是时候深入学习一下“接口隔离原则”了
- 秋天 | 等疫情过后,我们继续背起相机去旅行
- 刷题bingo挑战赛1
- python 数据库接口_Python3笔记050 - 11.1 数据库接口
- 学习笔记:MySQL字符串类型
- 通过原码、反码、补码彻底搞清左移、右移、无符号右移
- 算法案例之有效字母异位词
- 从Slice_Header学习H.264(三.3)--相关细节之 FMO
- 常用的科研论文作图软件
- 供应链管理的三个层次
- 文档词频矩阵_对论文“从词向量到文档距离”的理解
- Error in Summary.factor ‘min’ not meaningful for factors
- 在 cmd 中启动 Android 模拟器
- linux下刻录光盘读取不了_如何在Linux下刻录数据光盘
- 关于bitcoin core钱包api
热门文章
- Firefox 按一下Alt键 出现菜单!
- linux ftp命令参数全集
- test luasql's postgresql driver performance (not better than pgbench)
- 搭建appium的android环境
- 芒果 TV Redis 服务解决方案
- Android开发指南(32) —— Multimedia and Camera - Audio Capture
- 挖矿从入门到入狱,百度运维获利 10 万被判 3 年。网友:人生已毁
- 寒心!一个开发者就这样离开了!
- 做梦都没想到,就这样得到了一位大佬的青睐
- 大公司和小公司的抢人战,孰胜孰负?