我的Java学习笔记(六)——连接数据库

我的Java学习笔记(六)——连接数据库

1. JDBC:Java DataBase

DBC:jdk提供的接口规范,实现代码统一
连接步骤
1.导包 MySQL/ojdbc
2.加载驱动/类 Class.froName(“类名”);
3.获得连接对象
4.获得执行SQL语句的Statement对象
5.执行SQL语句,如果有ResultSet,处理结果集
6.关闭连接

事务操作
setAutoCommit(true/false)
commit()
rollback()
sql注入
a’ or ‘b’ = 'b —> 恒成立 =>sql注入
解决sql注入:PreparedStatement 预编译的
将不完整的sql语句进行编译(确定sql语句的语法结构)
Statement:每次执行都会有新的sql语句编译+执行
PreparedStatement:结构一样的sql语句,多次执行,预编译只有一次,每次只需要传参,执行
建议使用PreparedStatement
MySql分区显示
cmd命令:
mysql -hlocalhost -uroot -p123456 ——连接mysql
show database; ——展示分区,库
use test; ——进入test分区
create database testdt; ——创建库
show tables; ——查看库中的表
总结JDBC链接步骤
1.加载驱动/类
oracle:oracle.jdbc.driver.OracleDriver
mysql :com.mysql.jdbc.Driver
2.获得连接 Connection
DriverManager.getConnection(url,user,password);
oracle:jdbc:oracle:thin:@ip:port:sid
mysql :jdbc:mysql://ip:port/database
3.PreparedStatement
con.prepareStatement
4.设置参数
5.执行SQL:execute() executeUpdate() executeQuery()
6.得到结果集:ResultSet next()
7.使用next()遍历结果集
8.rs stmt conn 关闭连接

2.MVC模型

MVC
M:Moudule——模型 对象(数据)
V:View——显示/界面 前端
C:Controller——控制器 连接

3.连接池

连接池的定义:已经创建好连接,获得连接时,直接将连接池中随机返回一个连接;
产生原因:连接:客户端 -> 服务器(数据库服务),物理连接,非常消耗资源。连续频繁的开启和关闭,资源浪费;
DataSource——数据源:
Apache-DBCP连接池 Pool BasicDataSource
C3P0 ComboPooledDataSource
连接池 DBCPUtils

使用方法
C3P0
1.导包 c3p0-0.9.5.2.jar
mchange-commons-java-0.2.11.jar
2.实现类 康宝 ComboPooledDataSource
3.c3p0-config.xml 必须直接放在src下面

DBCP连接池——简化CURD操作
DBCP也是一个开源的连接池,是Apache Common成员之一,在企业开发中也比较常见,tomcat内置的连接池。

  1. 导包: commons-dbcp2-2.1.1.jar;commons-pool2-2.4.2.jar;
  2. 配置文件
  • 配置文件位置:任意,建议src(classpath/类路径)
  • 配置文件内容:properties不能编写中文,不支持在STS中修改,必须使用记事本修改内容,否则中文注释就乱码了;
  1. 编写工具类:DataSource dataSource = BasicDataSourceFactory.createDataSource(props);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值