<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      小雞炸

      導(dǎo)航

      連接池和DBUtils學(xué)習(xí)筆記

      一、連接池對象

      a、JDBC訪問數(shù)據(jù)庫中、連接對象即用即毀開銷太大、怎么管理多個連接對象又很麻煩、故需要一個專門管理連接的對象
      b、程序運(yùn)行時就創(chuàng)建N個連接對象、等著用戶來使用
      b、當(dāng)連接不夠時、可以增加連接數(shù)量來保證供應(yīng)、但連接對象不能超過最大活躍數(shù)量
      c、用戶用完連接對象后、無需管理這個連接、關(guān)閉或不關(guān)閉連接、連接都會被連接池回收
      連接池的使用
      a、配置參考地址:https://github.com/alibaba/druid/wiki
      b、簡單的druid.property屬性配置
      driverClassName=com.mysql.jdbc.Driver
      url=jdbc:mysql://locahost:3306/test
      username=root
      password=123456
      initialSize=3
      maxActive=10
      maxWait=60000
      
      c、JAVA代碼操作連接池對象
      public static void main(String[] args)throws Exception{
      	//創(chuàng)建屬性對象
      	Properties properties=new Properties();
      	//加載屬性文件
      	properties.load(DBTest.class.getResourceAsStream("/druid.property"));
      	//創(chuàng)建連接池對象
      	DataSource ds = DruidDataSourceFactory.createDataSource(properties);
      	//獲取連接
      	Connection conn = ds.getConnection();
      }
      

      二、DBUtils的使用

      1、DBUtils的作用
      a、主要是封裝了JDBC的代碼,簡化dao層的操作、幫助程序員,提高程序的開發(fā)效率、Dbutils是由Apache公司提供
      b、DbUtils:連接數(shù)據(jù)庫對象----jdbc輔助方法的集合類,線程安全
      2、使用步驟
      a、需要導(dǎo)入的jar包:①M(fèi)ySql驅(qū)動 ②c3p0包 ③DbUtils包
      b、添加druid配置文件
      d、可以自行添加一個JDBCUtils工具類:用來獲取c3p0連接池對象
      3、QueryRunner:是DBUtils操作數(shù)據(jù)庫的核心類、增刪改查等操作都靠QueryRunner類
      a、增刪改查
      public static void main(String[] args)throws Exception{
      		//創(chuàng)建屬性對象
      		Properties properties=new Properties();
      		//加載屬性文件
      		properties.load(DBTest.class.getResourceAsStream("/druid.property"));
      		//創(chuàng)建連接池對象
      		DataSource ds = DruidDataSourceFactory.createDataSource(properties);
         		//創(chuàng)建QueryRunner對象
      		QueryRunner queryRunner=new QueryRunner(ds);
      		//增刪改查操作數(shù)據(jù)庫、參數(shù)用?好替代,值直接在后面添加
      		int i = queryRunner.update("insert into student(name,pwd,img,classid) values(?,?,?,?)","admin","123",1,1);
      		//查詢的使用
      		List<Student> list = queryRunner.query("select * from student", new BeanListHandler<>(Student.class));
      		for (Student student : list) {
      			System.out.println(student);
      		}
      		System.out.println("over");
      	}
      
      b、查詢的適配器ResultSetHandle
      適配器類 作用
      ArrayHandler 將查詢結(jié)果的第一行數(shù)據(jù),保存到Object數(shù)組中
      ArrayListHandler 將查詢的結(jié)果,每一行先封裝到Object數(shù)組中,然后將數(shù)據(jù)存入List集合
      BeanHandler 將查詢結(jié)果的第一行數(shù)據(jù),封裝到user對象
      BeanListHandler 將查詢結(jié)果的每一行封裝到user對象,然后再存入List集合
      ColumnListHandler 將查詢結(jié)果的指定列的數(shù)據(jù)封裝到List集合中
      MapHandler 將查詢結(jié)果的第一行數(shù)據(jù)封裝到map結(jié)合(key列名,value列值)
      MapListHandler 將查詢結(jié)果的每一行封裝到map集合(key列名,value列值),再將map集合存入List集合
      BeanMapHandler 將查詢結(jié)果的每一行數(shù)據(jù),封裝到User對象,再存入mao集合中(key列名,value列值)
      KeyedHandler 將查詢的結(jié)果的每一行數(shù)據(jù),封裝到map1(key列名,value列值 ),然后將map1集合(有多個)存入map2集合(只有一個)
      ScalarHandler ScalarHandler
      c、自定義類實(shí)現(xiàn)ResultSetHandler<返回值類型>
      //泛型決定返回值類型
      public class StuentResultSetHandler implements ResultSetHandler<List<Student>>{
      	@Override
      	public List<Student> handle(ResultSet arg0) throws SQLException {
      		List<Student> list=new ArrayList<Student>();
      		
      		while (arg0.next()) {
      			Student info=new Student();
      			//需要封裝的數(shù)據(jù)
      			list.add(info);
      		}
      		return list;
      	}
      }
      

      posted on 2022-01-19 11:05  小雞炸  閱讀(64)  評論(0)    收藏  舉報(bào)

      主站蜘蛛池模板: 国产精品色呦呦在线观看| 亚洲综合网中文字幕在线| 在线人成免费视频69国产| 熟妇人妻系列aⅴ无码专区友真希 亚洲精品喷潮一区二区三区 | 亚洲精品成a人在线观看| 少妇激情a∨一区二区三区| 国产成人精选视频在线观看不卡| 国产95在线 | 亚洲| 亚洲丶国产丶欧美一区二区三区| 亚洲偷偷自拍码高清视频| 亚洲av在线观看| 乳山市| 亚洲熟女乱色综合亚洲图片| 亚洲日本乱码熟妇色精品| 无码国产69精品久久久久网站| 康平县| 亚洲熟女一区二区av| 韩国免费a级毛片久久| 一色屋精品视频在线观看| 欧美成人va免费大片视频| 国产一级区二级区三级区| 国产精品成| 麻豆蜜桃av蜜臀av色欲av| 亚洲国产精品一区二区第一页| 久久日产一线二线三线| 亚洲人成亚洲人成在线观看| 亚洲一精品一区二区三区| 成人嫩草研究院久久久精品| 亚洲精品久久一区二区三区四区| 久热色精品在线观看视频| 性欧洲大肥性欧洲大肥女 | av中文字幕一区二区| 2019香蕉在线观看直播视频| 国产网友愉拍精品视频手机| 粗了大了 整进去好爽视频| 香蕉久久夜色精品国产成人| 免费观看欧美猛交视频黑人| 口爆少妇在线视频免费观看 | 偷窥国产亚洲免费视频| 亚洲精品tv久久久久久久| 国产日韩一区二区在线|