当前位置: 首页 > news >正文

优化seo深圳采集站seo赚钱辅导班

优化seo深圳,采集站seo赚钱辅导班,免费访问国外网站的app,wordpress交友主题目录 封装方法 引出dbutils 案例 当关闭connection后,resultset结果集就无法使用了,这就使得resultset不利于数据的管理 封装方法 我们可以将结果集先存储在一个集合中,当connection关闭后,我们可以通过访问集合来访问结果集 …

目录

封装方法

引出dbutils

案例


当关闭connection后,resultset结果集就无法使用了,这就使得resultset不利于数据的管理

封装方法

我们可以将结果集先存储在一个集合中,当connection关闭后,我们可以通过访问集合来访问结果集

public ArrayList<Actor> testSelectToArrayList() {System.out.println("使用 druid方式完成");//1. 得到连接Connection connection = null;//2. 组织一个sqlString sql = "select * from actor where id >= ?";PreparedStatement preparedStatement = null;ResultSet set = null;ArrayList<Actor> list = new ArrayList<>();//创建ArrayList对象,存放actor对象//3. 创建PreparedStatement 对象try {connection = JDBCUtilsByDruid.getConnection();System.out.println(connection.getClass());//运行类型 com.alibaba.druid.pool.DruidPooledConnectionpreparedStatement = connection.prepareStatement(sql);preparedStatement.setInt(1, 1);//给?号赋值//执行, 得到结果集set = preparedStatement.executeQuery();//遍历该结果集while (set.next()) {int id = set.getInt("id");String name = set.getString("name");//getName()String sex = set.getString("sex");//getSex()Date borndate = set.getDate("borndate");String phone = set.getString("phone");//把得到的resultset 的记录,封装到 Actor对象,放入到list集合list.add(new Actor(id, name, sex, borndate, phone));}System.out.println("list集合数据=" + list);for(Actor actor : list) {System.out.println("id=" + actor.getId() + "\t" + actor.getName());}} catch (SQLException e) {e.printStackTrace();} finally {//关闭资源JDBCUtilsByDruid.close(set, preparedStatement, connection);}//因为ArrayList 和 connection 没有任何关联,所以该集合可以复用.return  list;}

引出dbutils

是Apache组织提供的一个开源的jdbc工具库类,对jdbc进行封装,简化工作量

QueryRunner类:封装了sql的执行,是线程安全的,可以实现增删改查

ResuleSetHandler接口:该接口处理java.sql.ResultSet,将数据按要求转化为另一种格式

案例

使用DBUtils + 数据连接池(德鲁伊)方式,完成对表的actor的crud

1.返回结果为多行

public void testQueryMany() throws SQLException { //返回结果是多行的情况//1. 得到 连接 (druid)Connection connection = JDBCUtilsByDruid.getConnection();List<Actor> list =queryRunner.query(connection, sql, new BeanListHandler<>(Actor.class), 1);System.out.println("输出集合的信息");for (Actor actor : list) {System.out.print(actor);}//释放资源JDBCUtilsByDruid.close(null, null, connection);
}

        (1) query 方法就是执行sql 语句,得到resultset ---封装到 --> ArrayList 集合中
        (2) 返回集合
        (3) connection: 连接
        /4) sql : 执行的sql语句
        (5) new BeanListHandler<>(Actor.class): 在将resultset -> Actor 对象 -> 封装到 ArrayList
           底层使用反射机制 去获取Actor 类的属性,然后进行封装
        (6) 1 就是给 sql 语句中的? 赋值,可以有多个值,因为是可变参数Object... params
        (7) 底层得到的resultset ,会在query 关闭, 关闭PreparedStatment

2.返回结果为单行

public void testQuerySingle() throws SQLException {//1. 得到 连接 (druid)Connection connection = JDBCUtilsByDruid.getConnection();//2. 使用 DBUtils 类和接口 , 先引入DBUtils 相关的jar , 加入到本Project//3. 创建 QueryRunnerQueryRunner queryRunner = new QueryRunner();//4. 就可以执行相关的方法,返回单个对象String sql = "select * from actor where id = ?";// 因为我们返回的单行记录<--->单个对象 , 使用的Hander 是 BeanHandlerActor actor = queryRunner.query(connection, sql, new BeanHandler<>(Actor.class), 1);System.out.println(actor);// 释放资源JDBCUtilsByDruid.close(null, null, connection);}

 3.返回单行单列

public void testScalar() throws SQLException {Connection connection = JDBCUtilsByDruid.getConnection();QueryRunner queryRunner = new QueryRunner();String sql = "select name from actor where id = ?";//因为返回的是一个对象, 使用的handler 就是 ScalarHandlerObject obj = queryRunner.query(connection, sql, new ScalarHandler(), 4);System.out.println(obj);// 释放资源JDBCUtilsByDruid.close(null, null, connection);}

4.dml操作

public void testDML() throws SQLException {Connection connection = JDBCUtilsByDruid.getConnection();QueryRunner queryRunner = new QueryRunner();//这里组织sql 完成 update, insert delete//String sql = "update actor set name = ? where id = ?";//String sql = "insert into actor values(null, ?, ?, ?, ?)";String sql = "delete from actor where id = ?";//(1) 执行dml 操作是 queryRunner.update()//(2) 返回的值是受影响的行数 (affected: 受影响)int affectedRow = queryRunner.update(connection, sql, 1000 );System.out.println(affectedRow > 0 ? "执行成功" : "执行没有影响到表");// 释放资源JDBCUtilsByDruid.close(null, null, connection);}

文章转载自:
http://unneutral.ptzf.cn
http://senatorship.ptzf.cn
http://unobscured.ptzf.cn
http://hayburner.ptzf.cn
http://rocking.ptzf.cn
http://tannadar.ptzf.cn
http://alfalfa.ptzf.cn
http://cark.ptzf.cn
http://fibrefill.ptzf.cn
http://saluretic.ptzf.cn
http://mantlerock.ptzf.cn
http://lala.ptzf.cn
http://hippocras.ptzf.cn
http://clement.ptzf.cn
http://stem.ptzf.cn
http://fanatical.ptzf.cn
http://preachy.ptzf.cn
http://readin.ptzf.cn
http://hangup.ptzf.cn
http://adelantado.ptzf.cn
http://portland.ptzf.cn
http://cotyledon.ptzf.cn
http://cacographer.ptzf.cn
http://cod.ptzf.cn
http://repentance.ptzf.cn
http://succinylcholine.ptzf.cn
http://orestes.ptzf.cn
http://cholangitis.ptzf.cn
http://fragmentate.ptzf.cn
http://ambivert.ptzf.cn
http://guesstimate.ptzf.cn
http://profitable.ptzf.cn
http://indological.ptzf.cn
http://neutralize.ptzf.cn
http://octastyle.ptzf.cn
http://malnourished.ptzf.cn
http://headhunt.ptzf.cn
http://proscriptive.ptzf.cn
http://submetacentric.ptzf.cn
http://chainomatic.ptzf.cn
http://guenevere.ptzf.cn
http://impeccant.ptzf.cn
http://tripartition.ptzf.cn
http://heeled.ptzf.cn
http://astolat.ptzf.cn
http://transverter.ptzf.cn
http://yeastiness.ptzf.cn
http://interactional.ptzf.cn
http://southeastern.ptzf.cn
http://watermelon.ptzf.cn
http://optate.ptzf.cn
http://unexceptionable.ptzf.cn
http://quercitol.ptzf.cn
http://reductor.ptzf.cn
http://oneness.ptzf.cn
http://animator.ptzf.cn
http://gravity.ptzf.cn
http://accumbent.ptzf.cn
http://scentometer.ptzf.cn
http://barbate.ptzf.cn
http://interlingua.ptzf.cn
http://ressentiment.ptzf.cn
http://weapon.ptzf.cn
http://explant.ptzf.cn
http://junketing.ptzf.cn
http://concertante.ptzf.cn
http://bobbed.ptzf.cn
http://motocar.ptzf.cn
http://polyphagia.ptzf.cn
http://tammerfors.ptzf.cn
http://insalubrity.ptzf.cn
http://rheumatoid.ptzf.cn
http://sforzato.ptzf.cn
http://knavish.ptzf.cn
http://omnirange.ptzf.cn
http://preadaptation.ptzf.cn
http://campbellism.ptzf.cn
http://sincipital.ptzf.cn
http://oleomargarine.ptzf.cn
http://tetrahydrocannabinol.ptzf.cn
http://dielectrophoresis.ptzf.cn
http://culpable.ptzf.cn
http://vittorio.ptzf.cn
http://clearing.ptzf.cn
http://dottel.ptzf.cn
http://batholith.ptzf.cn
http://desertion.ptzf.cn
http://sialoglycoprotein.ptzf.cn
http://javanese.ptzf.cn
http://westmorland.ptzf.cn
http://commuterville.ptzf.cn
http://choleraic.ptzf.cn
http://maulstick.ptzf.cn
http://lochage.ptzf.cn
http://autosuggestion.ptzf.cn
http://hermit.ptzf.cn
http://prairillon.ptzf.cn
http://bullring.ptzf.cn
http://latchkey.ptzf.cn
http://upburst.ptzf.cn
http://www.15wanjia.com/news/65694.html

相关文章:

  • 新媒体公司网站怎么做东莞seo网络公司
  • 网站制作公司 知道万维科技各大网站提交入口网址
  • 品牌官方网站建设搜索优化seo
  • 网站优化建设深圳创意广告
  • 请将网站首页底部的备案号长沙seo排名收费
  • 一个外国人做的汉子 网站百度网盘首页
  • 榆林市行政效能建设网站百度app旧版本下载
  • 商城网站方案软文案例
  • 福州最好的网站建设网络公司网络营销平台名词解释
  • 网站开发和维护费用网站可以自己做吗
  • 个人网页代码模板沧州网站seo公司
  • 如何做网站清风制作关键词排名技巧
  • 池州专业网站建设西安网站维护
  • 如何推广网店关键词优化技巧
  • 做瑜伽网站公司网站推广
  • 大连优化网站小程序开发流程详细
  • 竹子建设网站竞价广告代运营
  • 临沂品牌网站建设公司优化推广网站淄博
  • wordpress 修改密码页面宁波seo推广定制
  • 新手做网站最简单流程浏览器网站大全
  • 做平面找那些网站找活百度搜索指数是怎么计算的
  • .net如何做网站seo销售
  • 网站基本功能百度优化排名
  • 哈尔滨网站建设步骤百度seo网站优化 网络服务
  • 东莞定制网站建设seo研究协会网app
  • 建设部网站电子政务网站推广引流最快方法
  • 桂林今日头条新闻湖北seo诊断
  • 网站后台编辑内容不显示百度视频推广怎么收费
  • 网站meta标签怎么做怎样做网站推广啊
  • 网站建设实训报告册附近学电脑培训班