JDBC
概念:java 数据库连接,java语言操作数据库
JDBC本质:定义了一套操作所有关系型数据库的规则(接口)。各个数据库的厂商实现这 套接口,提供数据库驱动jar包。我们可以使用这套接口编程,真正执行代码式jar 包中的实现类。
JDBC快速入门
步骤:
1.导入驱动jar包
2.注册驱动
3.获取数据库对象 connection
4.定义sql
5.获取执行sql语句的对象 statement
6.执行sql,接收返回结果
7.处理结果
8.释放资源
Drivermanager 驱动管理对象
功能:
1.注册驱动
告诉程序该使用哪一个数据库驱动jar
2.获取数据库连接
DriverManager.getConnection()
参数:
1.指定连接的路径
语法:jdbc:MySQL://ip:端口号/数据库名称
Jdbc:mysql://localhost:3306/
2.用户名
3.密码
Connection 数据库连接对象
功能:
1. 获取执行sql的对象
2.管理事务
Statement 执行sql对象
Int executeUpdate 返回影响的行数(可以通过返回值,判断dml语句是否执行成功)
Resultset Executequery:执行dql(select)语句
Resultset 结果集对象
Next();方法游标从当前位子移动一行
Getxxx(参数);获取数据
xxx:数据类型 如:getint(); getstring();
参数:1.int:代表列的编号 从1开始的
2.string:字符串,列名称
Preparedstatement 执行sql对象
JDBC工具类
1.注册驱动抽取
2.抽取一个方法获取连接对象
需求:不想传递参数,还得保证工具类的通用性
配置文件:
3.抽取一个方法释放资源
Preparestatement:执行sql对象
后期都会用此对象来完成增删改查的所有操作
JDBC连接池
1.概念:其实就是一个容器(集合),存放数据库连接的容器。
当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。
2. 好处:
1. 节约资源
2. 用户访问高效,
3. 实现:
1. 标准接口:DataSource javax.sql包下的
1. 方法:
* 获取连接:getConnection()
* 归还连接:Connection.close()。如果连接对象Connection是
从连接池中获取的,那么调用Connection.close()方法,则不会
再关闭连接了。而是归还连接
2. 一般我们不去实现它,有数据库厂商来实现
1. C3P0:数据库连接池技术
2. Druid:数据库连接池实现技术,由阿里巴巴提供的
C3p0基本使用:
步骤:
1.导入jar包(两个) c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar ,
不要忘记导入数据库驱动jar包
2. 定义配置文件:
名称: c3p0.properties 或者 c3p0-config.xml
路径:直接将文件放在src目录下即可。
3. 创建核心对象 数据库连接池对象 ComboPooledDataSource()
4. 获取连接: getConnection
* 代码:
//1.创建数据库连接池对象
DataSource ds = new ComboPooledDataSource();
//2. 获取连接对象
Connection conn = ds.getConnection();
Druid:数据库连接池技术,阿里巴巴提供
步骤:
1. 步骤:
1. 导入jar包 druid-1.0.9.jar
2. 定义配置文件:
* 是properties形式的
* 可以叫任意名称,可以放在任意目录下(手动加载)
3. 加载配置文件。Properties
4. 获取数据库连接池对象:通过工厂类来获取 DruidDataSourceFactory
5. 获取连接:getConnection
基本使用代码:
//3.加载配置文件
Properties pro = new Properties();
Inputstream is=DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
//4.获取连接池对象
DataSource ds = DruidDataSourceFactory.createDataSource(pro);
//5.获取连接
Connection conn = ds.getConnection();
Druid工具类
定义工具类
1. 定义一个类 JDBCUtils
2. 提供静态代码块加载配置文件,初始化连接池对象
3. 提供方法
1. 获取连接方法:通过数据库连接池获取连接
2. 释放资源
3. 获取连接池的方法
JDBCTemplate介绍
Spring框架对JDBC的简单封装。提供了JDBCTemplate对象对JDBC简化
步骤:
1. 导入jar包
2. 创建JdbcTemplate对象。依赖于数据源DataSource
* JdbcTemplate template = new JdbcTemplate(ds);
3. 调用JdbcTemplate的方法来完成CRUD的操作
* update():执行DML语句。增、删、改语句
* queryForMap():查询结果将结果集封装为map集合,将列名作为key,将 值作为value 将这条记录封装为一个map集合
* 注意:这个方法查询的结果集长度只能是1
* queryForList():查询结果将结果集封装为list集合
* 注意:将每一条记录封装为一个Map集合,再将Map集合装载到 List集合中
* query():查询结果,将结果封装为JavaBean对象
* query的参数:RowMapper
* 一般我们使用BeanPropertyRowMapper实现类。可以完成数 据到JavaBean的自动封装
* new BeanPropertyRowMapper<类型>(类型.class)
* queryForObject:查询结果,将结果封装为对象
* 一般用于聚合函数的查询 |
|