黑马程序员技术交流社区

标题: 连接池相关 [打印本页]

作者: when    时间: 2019-9-19 21:53
标题: 连接池相关
SQL注入:拼接sql时,SQL特殊关键字,产生安全性问题,使用预编译SQL语句消除安全性问题。
预编译SQL语句变量使用占位符(?)替代,预编译SQL语句PreparedStatement,由连接connection获得
preparedstatement方法,setXxx(占位符索引,Xxx值),executeupdate(SQL),executeQuery()

JDBC控制事务:开启事务connection.setAutoCommit(false),false代表开启事务,在执行SQL之前开启事务
              提交事务connection.commit,所有SQL执行完毕之后提交事务
              滚回事务connection.rollback,在catch之中回滚事务

数据库连接池:一个容器集合,存放数据连接的容器,好处:1.节约资源  2.用户访问高效
              Datasource接口,由各个厂商去实现
              连接池技术:1.C3P0    2.Druid  Alibaba实现   
              连接池都会做1.getconnection获取连接  2.close归还连接


C3P0:1.导入jar包
     2.定义配置文件,c3p0.properties或者c3p0-config.xml
     3.获取连接池对象
     Datesource ds = new ComblepoolDatesource;
     

druid:1.导入jar包
       2.定义配置文件--是properties形式的--可以叫任意名称,可以放在任意目录下
       3.加载配置文件,获取连接池对象--
          DataSource ds = DruidDataSourceFactory.createDataSource(properties);


Spring JDBC:JDBCtemplate
             1.导入jar包
             2.创建jdbctemplate对象,依赖于DataSource
               jdbcTemplate tp = new jdbcTemplate(Datasource);
             3.用jdbctemplate完成增删改查
               .update  
               .queryformap()
               .queryforlist()
               .query()--封装为java对象 参数Rowmapper,一般使用BeanpropertyRowmapper实现类
                 new BeanpropertyRowmapper <对象类>(对象类.class)





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2