JDBC:数据库连接  java  database connectivity

###properties

  属性对象,用于读取*.properties属性配置文件中的数据

-为什么使用:之前写法是把数据库连接信息硬编码的形式写死在.java类中,如果需要修改,必须去java类中找到相对应的代码,这种方式需要工作人员了解代码,

然而,使用properites后可以把数据库连接信息写在配置文件中,修改时不需要关注代码的问题

###数据库连接池 DBCP       database connection pool

- 一套管理数据库连接的api

- 为什么使用数据库连接池:

  如果没有连接池,每次web服务器和数据库服务器的交互都需要建立连接和关闭连接,如果有一万次请求则有一万次开关连接,非常消耗资源,

  使用连接池,可以在初始化时设置好一个初始连接数量,连接池会立即建立几个初始连接,如果有和数据库交互的需求会从连接池中查找是否有空闲连接,

  有则用,用完归还给连接池,没有空闲,则等待其他链接用完后归还.这样能大大降低web服务器和数据库服务器的开关连接的数量,从而提高执行效率.

####PrepareStatement

-好处:

1.因为使用PrepareStatement带有预编译效果,当多次插入数据时,只需要编译一次即可,所以执行效率高(效果并不明显)

2.代码可读性更高,书写方便

3.带有预编译效果,可以防止sql注入,因为在sql预编译的时候已经把sql的逻辑固定,如果替换?的内容包含了和逻辑相关的sql关键字则不生效(如 or)

- 如果执行的sql语句中存在变量值的都使用prepareStatement,如果没有变量值则可以使用statement

###sql注入的语句:  password='' or '1'='1'

创建一张login_user表(id,username,password)

  create table login_user(id int primary key auto_increment,username varchar(10),password varchar(10));

  insert into login_user values(null,'libai','admin'),(null,'xiao,ming','admin');

以下是

  select count(*) from login_user where username=? and password=?

DBUtils:数据库连接的工具类

DBCPDemo:演示数据库连接池

DBUtilsDemo1:演示增删改查

PropertiesDemo:演示Properties

##以后做项目数据库中有什么表就有和表对应的对象(Javabean),同时也有和表相对应的DAO

##批量操作

因为每次sql的执行都需要和数据库服务器进行数据交互,如果执行的sql条数太多,每次都和数据库服务器交互会浪费资源,可以通过批量操作的方式,把几次sql请求合并成一次

案例:实现分页查询

请输入要查询的页数

3

请输入每页的条数

5

得到数据库中的11-15条数据

###事务

1.关闭自动提交(开启事务)

  conn.setAutoCommit(false);

2.提交事务

  conn.commit();

3.回滚  

  conn.rollback();

create table person(id int primary key auto_increment,money int,name varchar(10));

insert into person values(null,500,'超人'),(null,50000,'蝙蝠侠);

insert into person values(null,5000,'蝙蝠侠);

##获取自增主键的值

create table t_dept(id int primary key auto_increment,name varchar(10));

create table t_emp(id int primary key auto_increment,name varchar(10),deptid int);

##元数据 MetaData

数据库元数据:存放数据库

JDBC-day02的更多相关文章

  1. Apache—dbutils开源JDBC工具类库简介

    Apache—dbutils开源JDBC工具类库简介 一.前言 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用 ...

  2. JDBC主要API学习总结

    JDBC主要API学习 一.JDBC主要API简介 JDBC API 是一系列的接口,它使得应用程序能够进行数据库联接,执行SQL语句,并且得到返回结果. 二.Driver 接口 Java.sql.D ...

  3. JDBC_part2_DML以及预编译_编写DBUtil工具类

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! jdbc day02 DML语法 比起插叙语句,没有R ...

  4. [02-02 ]Java数据库链接范列

    /* 01 连接池版本的 数据库 连接管理工具,适合于并发场合 */ package cn.tedu.jdbc.day02; import java.io.InputStream; import ja ...

  5. JDBC连接池以及动态SQL处理

    复习一下: 1.先创建一个properties配置文件 ClasssName=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@服务器IP:端 ...

  6. Jdbc -Statement

    Java提供了 Statement.PreparedStatement 和 CallableStatement三种方式来执行查询语句: PreparedStatement是用于执行参数化查询 预编译s ...

  7. day02 mysql基本语句 存储引擎 数据类型 完整性约束

    day02 mysql   一.sql的基本语句     系统数据库         information_schema: 虚拟库, 不占磁盘空间(在内存汇中): 存的是数据库启动后的一些参数, 如 ...

  8. mysql 第三课 jdbc基础操作

    jdbc连接可以大致分为5步: 1.注册驱动 2.获取连接 3.编写语句 4.执行语句 5.关闭连接 其中可以设置参数等等. 1.我们先建一个项目目录: 其中com.etc.dao为数据访问对象 co ...

  9. Java数据库连接技术——JDBC

    大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...

  10. 玩转spring boot——结合AngularJs和JDBC

    参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...

随机推荐

  1. 前端 HTML 常用标签 head标签相关内容 style标签 定义内部样式表

    styple标签 <!-- 定义内部样式表 --> <style type="text/css"></style>

  2. HP1020打印机“传递给系统调用的数据区域太小” 如何处理?

    如果电脑上曾经安装过 HP LaserJet 激光打印机的驱动程序,重新安装驱动程序之前,需要完全卸载以前安装的驱动程序,否则可能会出现无法找到设备或者安装不上驱动程序的现象. 安装网站下载的即插即用 ...

  3. PS游戏摸拟器ePSXe加速游戏速度方法

    1.启动ePSXe游戏摸拟器. 2.菜单栏上的设置->视频->在视频设置窗口 设置主视频插件->设置. 3.在设置插件的窗口帧速率选择框中 勾上使用帧速率限制 点选帧速率限制为(10 ...

  4. [django]restfulapi请求规范

    http://www.ruanyifeng.com/blog/2014/05/restful_api.html 方法及作用: GET(SELECT) :从服务器取出资源(一项或多项). POST(CR ...

  5. 如何在CentOS 7中安装最新Git(源码安装)

    如何在CentOS 7中安装最新Git 2017年05月20日 11:49:53 阅读数:1624 Git是在今天的软件开发行业一个非常有用的版本控制工具.我一直使用Git.于是为Linux公社的读者 ...

  6. Python 初始函数

    python之路——初识函数   阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 为什么要用函数 我们就想啊,要是我们能像使用len一样使用我们这一大段“计算长度”的代 ...

  7. CentOS6.5 安装Spark集群

    一.安装依赖软件Scala(所有节点) 1.下载Scala:http://www.scala-lang.org/files/archive/scala-2.10.4.tgz 2.解压: [root@H ...

  8. xshell 禁用铃声 提示音

    xshell 的铃声在操作时比较烦,所以通常会关闭. 操作方法: 工具 > 选项 > 高级, 在“终端”选项下的 “禁用铃声” 前面打上勾, 确定即可.

  9. MySQL数据类型--与MySQL零距离接触2-5字符型

    CHAR(5) : 存储abc时,由于长度不够,所以abc后面会补充2个空格,也就是abc CHAR 0-255字节 定长字符串 VARCHAR 0-65535 字节 变长字符串 ENUM('valu ...

  10. Linux下利用Valgrind工具进行内存泄露检测和性能分析

    from http://www.linuxidc.com/Linux/2012-06/63754.htm Valgrind通常用来成分析程序性能及程序中的内存泄露错误 一 Valgrind工具集简绍 ...