JDBC

基本流程

  1. 首先向项目中导入jar包

  2. 创建如下代码

    			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);
  1. 使用方法
        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()会返回null
String 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放回到池中,减少了系统的开销.

数据库JDBC的基本内容的更多相关文章

  1. Java应用程序连接数据库--JDBC基础

    Java应用程序连接数据库--JDBC基础   Java应用程序连接数据库–JDBC基础 <!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency&g ...

  2. 数据库——JDBC

    数据库--JDBC 数据库优点:降低存储数据的冗余度: 更高的数据一致性: 存储的数据可以共享: 可以建立数据库所遵循的标准: 便于维护数据完整性: 能够实现数据的安全性: 建立数据库: 数据库的存储 ...

  3. 常用数据库 JDBC URL 格式

    一 常用数据库 JDBC URL 格式 1 sqLite  驱动程序包名:sqlitejdbc-v056.jar 驱动程序类名: org.sqlite.JDBC JDBC URL: jdbc:sqli ...

  4. sql数据库批量替换dedecms内容关键字

    之前写了一篇dedecms后台批量替换文章中的关键词,这边我们介绍一下用sql数据库批量替换dedecms内容关键字,当然要求你对数据库比较熟悉,修改前请自行做好备份. 1.更改文章中的内容 upda ...

  5. 数据库:MySQL实战;左链接;查询WordPress数据库中的文章内容

    在1年前,我用学生价租了一个阿里云服务器(是真的便宜啊),自己在CentOS系统上用命令行搭了个WordPress的环境,开始了为期一个月使用自建博客的历程. 事实证明,博客在类似博客园这样的平台上写 ...

  6. BMP是在Bean中完成对数据库JDBC的各种调用

    BMP是在Bean中完成对数据库JDBC的各种调用 CMP是由EJB容器自动完成对数据库的操作 会话Bean主要处理业务逻辑

  7. tornado 06 数据库—ORM—SQLAlchemy——基本内容及操作

    tornado 06 数据库—ORM—SQLAlchemy——基本内容及操作 一. ORM #在服务器后台,数据是要储存在数据库的,但是如果项目在开发和部署的时候,是使用的不同的数据库,该怎么办?是不 ...

  8. 实例: Java代码操作oracle数据库(JDBC+sevrlet+jsp+html)

    1, 注册页面 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.or ...

  9. oracle数据库中将clob字段内容利用java提取出至文本文档中

    代码段: 1.执行clob转String public static String ClobToString(Clob sc) throws SQLException, IOException { S ...

随机推荐

  1. 1.8 js基础(常用方法小结)

    1.获取随机数 var rdm=function(n,m){ return parseInt(n+Math.random()*(m-n)); } 2.位数不够补0 function toDou(inu ...

  2. jq访问网络接口实例

    最近需要在app生活频道上,需要添加一些类目,这就需要用到一些公用的开放接口,ajax其实调用并不复杂,但是结合jquery则显得更简洁一些,下面一起来看看jquery调用后台api. 代码如下: & ...

  3. Python爬取电影天堂指定电视剧或者电影

    1.分析搜索请求 一位高人曾经说过,想爬取数据,要先分析网站 今天我们爬取电影天堂,有好看的美剧我在上面都能找到,算是很全了. 这个网站的广告出奇的多,用过都知道,点一下搜索就会弹出个窗口,伴随着滑稽 ...

  4. Asp.Net MVC4通过id更新表单

    用户需求是:一个表单一旦创建完,其中大部分的字段便不可再编辑.只能编辑其中部分字段. 而不可编辑是通过对input输入框设置disabled属性实现的,那么这时候直接向数据库中submit表单中的内容 ...

  5. C#中引用类型和值类型的区别,分别有哪些

    C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型. C#的引用类型包括:数组,用户定义的类.接口.委托,object,字符串. 数组的元素,不管是引用类型还是值类型, ...

  6. linux创建日期文件名

    linux创建文件名添加当前系统日期时间的方法 使用`date +%y%m%d` Example: mkdir `date +%y%m%d` tar cfvz /tmp/bak.`date +%y%m ...

  7. 十、cent OS开启APR模式报错:configure: error: Found APR 1.3.9. You need version 1.4.3 or newer installed

    错误内容显示APR的版本过低,需要新版本 到http://apr.apache.org/download.cgi#apr1这个地址下载所需要的包apr-1.4.5.tar.gz apr-iconv-1 ...

  8. 添加jquery脚本文件

    对于后台添加JQuery需要加上../js {insert_scripts files ="../js/jquery.1.14.min.js"}

  9. 基于easyUI实现权限管理系统(二)——菜单导航

    此文章是基于 EasyUI+Knockout实现经典表单的查看.编辑 一. 相关文件介绍 1. menu.jsp:菜单导航主界面 <!DOCTYPE html PUBLIC "-//W ...

  10. Linux From Scratch(从零开始构建Linux系统,简称LFS)(二)

    七. 构建临时系统 1. 通用编译指南 a. 确认是否正确设置了 LFS 环境变量 echo $LFS b. 假定你已经正确地设置了宿主系统需求和符号链接 c. 对于每个软件包: (1). 确保解压软 ...