JDBC基础介绍&D3P0&Druid连接池技术&JdbcTemplate工具类使用

JDBC基础介绍&D3P0&Druid连接池技术&JdbcTemplate工具类使用

详解各个对象

1. DriverManager:驱动管理对象
1. 注册驱动
MySQL5之后的驱动jar包,可以省略注册驱动的步骤
2. 获取数据库连接
static Connection getConnection(String url,String user,String password);
参数:
url:指定连接的路径
语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
例子:jdbc:mysql://127.0.0.1:3306/library
细节:如果连接的本地ip,端口号为3306,则可以简写为jdbc:mysql:///数据库名称
user:用户名
password:密码
2. Connection:数据库连接对象
1. 获取执行sql的对象
statement createStatement()
PreparedStatement preparedStatemnt(String sql);
2. 管理事务
开启事务:执行sql语句之前
setAutoCommit(boolean aotuCommit) :该方法参数设置false,即开启事务
提交事务:在所有sql执行完提交事务
commit()
回滚事务:在catch中回滚事务
rollback()
3. Statement:执行SQL的对象
执行sql
boolean execute(String sql):可以执行任意的SQL,(仅限了解!)
int executeUpdate(String sql):执行DML(insert、update、delete)语句、
DDL(create、alter、drop)语句
返回值int,返回的是影响的行数,可以判断DML语句是否执行成功。如果返回值>0则执行成功,反之则失败
ResultSet executeQuery(String sql):执行DQL(select)语句
4. ResultSet:结果集对象
next():游标向下移动一行,判断是否有数据,true打印数据并继续执行,false终止打印。
getXxx(参数):代表数据类型
Xxx:代表数据类型 如:int getInt(); String getString();
参数:
1. int:代表列的编号,从1开始 如:getString(1);
2. String:代表列的名称。如:getString(“name”);
5. PreparedStatement:执行SQL的对象
将sql中所有的数据写成?问号占位符
问号占位符通过setXxx(index,xxx)
参数:
index:第几个占位符
xxx: 设置的参数

数据库连接池

标准接口:DataSource Javax.sql包下的
获取连接:getConnection() 一般由数据库厂商来实现数据库连接
归还连接:如果连接对象Connection是从连接池获取的,那么调用Connection.close()方法,则不会再关闭连接,而是归还连接
数据库连接池介绍
C3P0:数据库连接池技术
Druid:数据库连接池实现技术,由阿里巴巴提供的
DBCP:数据库连接池技术

C3P0连接池技术
1. 导入jar包(两个)
c3pe-0.9.5.2.jar
mchange-commons-java-e.2.12.jar
2. 定义配置文件
名称:c3pe.properties 或者 c3pe-config.xml (一般使用xml文件)
路径:直接将文件放在src 目录下即可
3. 创建核心对象
数据库连接池对象 new ComboPooledDataSource(参数);
参数:
1. 不传参,使用default-config默认配置(一般情况下使用默认)
2. 传参,传入name-config指定配置
4. 获取连接对象
ds.getConnection()

Druid连接池技术
1. 导入jar包
druid-1.0.9.jar
2. 定义配置文件
名称:druid.properties 或者任意名称
路径:可以放在任意目录下
3. 加载配置文件
Properties pro = new Properties();
4. 获取数据库连接池对象
通过工厂类 DruidDataSourceFactory来获取
5. 获取连接对象
ds.getConnection()

Spring JDBC

1. 导入jar包
2. 创建JdbcTemplate对象
依赖于数据源DataSource
JdbcTemplate template = new JdbcTemplate(ds);
3. 调用JdbcTemplate的方法来完成CRUD的操作
update() 执行DML语句。增删改语句
queryForMap():查询结果将结果集封装成map集合
queryForList():查询结果将结果集封装成list集合
query():查询结果,将结果封装为JavaBean对象
(sql,new RowMapper() {}) 重写RowMapper方法,实现封装数据进JavaBean(Book)对象
(sql,new BeanPropertyRowMapper<>(Book.class)) 传入JavaBean(Book)对象的字节码class文件即可封装。
queryForObject():查询结果,将结果封装为对象
一般用于聚合函数的查询 ,count、sum、max、min、avg
queryForObject(sql,Long.class); 使用方法 :前面写SQL语句,后面传入SQL语句的返回值类型。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值