2022-12-07 JDBC(二) JDBC登陆案例

# 练习

## 需求

        通过键盘录入用户名和密码

        判断用户是否登陆成功

## 步骤

        创建数据库表

        创建一个类,

### PreparedStatement:执行sql的对象

        1.SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题

                输入用户随便,输入密码:a '  or   'a' = 'a

        解决SQL注入问题   :使用PreparedStatement 对象来解决

## 注意:后期都会使用PreparedStatement来完成增删改查的所有操作

        可以防止SQL注入

        效率更高

## JDBC控制事物

        1.事物:一个包含多个步骤的业务操作。入宫这个业务操作被事物管理,则这多个步骤要么同时成功,要么同时失败

        2.操作:

                1.开启事务

                2.提交事务

                3.回滚事物

        3.使用Connection对象来管理事务

                1.开启事务:setAutoCommit:调用该方法设置参数为false,,即开启事务

                        在执行sql之前开启事物

                2.提交事务:commit()

                        当所有sql都执行完提交事务

                3.回滚事物:rollback()

                        在catch中回滚事物

# 今日内容

## 数据库连接池

### 概念:其实就是一个容器(集合),存放数据库连接的容器。

 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会连接对象归还给容器。

### 好处

1.节约资源

2.用户访问高效

### 实现

1.标准的接口  :Datesource    java.sql包

        1.方法:

                获取连接: getConnection()

                归还连接:如果连接对象Connection是从连接池获取的,那么调用Connection.close

                                        ()方法,则不会关闭连接,二十归还连接

2.一般我们不去实现他,右驱动数据库厂商来实现

        C3P0:数据库连接池技术

        Druid:德鲁伊  : 数据库连接池技术数,由阿里巴巴提供

###C3P0     

1.步骤

        1.导入jar包  两个

        2.定义配置文件

                名称: c3p0.properties 或者 c3p0-config.xml

                路径:直接将文件放在src目录下即可。

        3.创建核心对象:数据库连接池对象 ComboPooledDataSource

        4.获取连接:get Connection

### Druid

#### 步骤

        1.导入jar 包:druid-1.0.9

        2.定义配置文件

                是properties形式的

                可以叫任意名称,可以放在任意目录下

        3.加载配置文件 Propreties。

        3.获取数据库连接池对象:通过工厂来获取: DruidDataSoureFactory

        4.获取连接池:getConnection()

        #### 定义工具类

                1.定义一个类

                2.提供静态代码块加载配置文件,初始化连接池对象

                3.提供方法

                        获取了连接方法:通过数据库连接池获取连接

                        释放资源

                        

                        

## Spring JDBC : JDBC Template

Spring提供的JDBC的简单封装,提供了一个JDBCTemplate对象简化JDBC开发

### 步骤:

        1.导入jar包

        2.创建jdbctemplate对象,依赖于数据源DateSource

                JdbcTemplate template = new JdbcTemlate(ds);

        3.调用方法来完成CRUD的操作

                update(); 执行DML语句,,增删改语句

                queryForMap();查询结果将结果集封装为map集合

                queryForList();查询结果将结果封装为list集合

                query();查询结果,将结果封装为JavaBean对象

                queryForObject:查询结果,将结果封装为对象

                

 

        4.练习

                需求

                1.修改1号数据salary为1w

                2.添加一条记录

                3.删除刚才添加的记录

                4.查询所有的记录将其封装为map集合 

                5.查询所有记录,将其封装为list集合

                6.查询所有记录,将其封装为emp对象的list集合

                7.查询总记录数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值