日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Jdbc模版式写法与Spring-JdbcTemplate的比较

發布時間:2025/3/15 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jdbc模版式写法与Spring-JdbcTemplate的比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Jdbc模版式寫法:

【流程】

  • 加載驅動
  • 獲取數據庫鏈接
  • 創建Statement對象(用于發送sql語句)
  • 向數據庫發送sql語句,獲取數據庫返回的結果集
  • 從結果集中獲取數據
  • 釋放資源
  • 上述部分用try-catch-finally語句包圍
  • 【詳解】以Mysql為例) 1.加載驅動 將Mysql驅動jar包導入lib文件夾,配置到構建路徑中。 String driver = "com.mysql.jdbc.Driver";//更改驅動時修改字符串即可 Class.forName(driver); //加載com.mysql.jdbc.Driver類 2.獲取數據庫鏈接 通過DriverManager工具類中的getConnection方法,創建數據庫鏈接對象: 【Connection:java.sql.Connection】 Connection conn = DriverManager.getConnection(url, username, password); url,user,password參數都是String字符串。其中username和password就是Mysql的用戶名和密碼。 url:數據庫地址。在Mysql中,是:jdbc:mysql://主機:端口/數據庫名?參數的形式比如: String url = "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=UTF-8"; >>>>>>>>>>>>>>>>>>>>>>>>>實際開發中的做法<<<<<<<<<<<<<<<<<<<<<<<<< >實際開發中,一般會建立db.properties配置文件,存儲driver、url、username、password等信息。如此,這些信息有改動時,不用修改代碼,只需修改配置文件即可。 db.properties: driver = com.mysql.jdbc.Driver url = jdbc:mysql:\\localhost:3306\student username = root password = root 獲取db.properties中的數據: Properties prop = new Properties(); prop.load(JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties"));//載入db.properties Class.forName(prop.getProperty(driver)); Connnection conn = DriverManager.getConnection(prop.getProperty(url),prop.getProperty(username),prop.getProperty(password)); 3.創建Statement對象 通過Connection類中的createStatement方法,創建Statement對象: 【Statement:java.sql.Statement】 Statement st = conn.createStatement(); 4.發送sql語句,獲取結果集 通過Statement類中的excuteQuery或excuteUpdate方法,執行sql語句,返回值為ResultSet類對象(創建): ResultSet:java.sql.ResultSet String sql = "SELECT name FROM student WHERE id = 1"; ResultSet rs = st.excuteQuery(sql); 5.從結果集中獲取數據 數據在結果集rs中的存放方式:類似于表格的形式,初始游標指向表頭。 要獲取數據時,通過rs.next()方法,令游標指向下一行,然后通過rs.get*(*)方法獲取該行的數據。 當存在下一行時,rs.next()返回true,否則返回false。所以rs.next()的返回值可以作為遍歷結果集rs時的循環條件。 獲取數據的方法: (1)getInt("列名"),getString("列名")…… (2)getObject("列名") 通過ResultSet類中的方法獲取rs中的數據: String name = null; while(rs.next()) {name = rs.getString("name"); } 6.釋放資源 與創建資源順序相反,注意要放在finally中。
    • 釋放rs:rs.close();
    • 釋放st:st.close();
    • 關閉數據庫鏈接:conn.close();
    二、利用JdbcTemplate的寫法 1.創建db.properties,定義驅動driver、數據庫鏈接url、用戶名username、密碼password。 driver = com.mysql.jdbc.Driver url = jdbc:mysql:\\localhost:3306\student username = root password = root 2.配置Spring配置文件:applicationContext.xml 首先(第1行),讀取db.properties。 然后(第2-7行),用db.properties中的內容配置一個數據源對象。DriverManagerDataSource是數據源類。數據源類可詳見編寫DAO,通過JdbcTemplate操作數據庫的實踐 最后(第9-11行),配置一個JdbcTemplate實例,注入dataSource數據源對象。 <context:property-placeholder location="classpath:db.properties"/> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="username" value="${username}"></property><property name="password" value="${password}"></property><property name="driver" value="${driver}"></property><property name="url" value="${url}"></property> </bean><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"></property> </bean>

    ?

    3.創建應用上下文對象,獲取JdbcTemplate對象。 ApplicationContext apc = new ClassPathXmlApplicationContext("applicationContext.xml"); JdbcTemplate jdbcTemplate = (JdbcTemplate) apc.getBean("jdbcTemplate"); 4.通過JdbcTemplate中封裝的方法,執行sql語句,將結果提取到指定對象中(此處以查詢語句為例) String sql = "select id,name,school from student where id=? "; //sql語句 RowMapper<Student> rowMapper = new BeanPropertyRowMapper<Student>(Student.class); //通過Student創建RowMapper實例【為了高性能,應自定義RowMapper(復寫mapRow方法)而不是利用現成類】 Student stu = jdbcTemplate.queryForObject(sql,rowMapper,20); //查詢id為20的那一行數據,將結果存入到rowMapper對象中
    三、JdbcTemplate的優勢 1.加載驅動、創建鏈接都可以在xml文件中完成,代碼可專注于sql語句的發送及其結果 2.無需創建Statement對象 3.無需手動釋放資源 4.無需使用try-catch語句

    轉載于:https://www.cnblogs.com/cage666/p/7295382.html

    總結

    以上是生活随笔為你收集整理的Jdbc模版式写法与Spring-JdbcTemplate的比较的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。