crud指資料庫或者持久層的基本操作,包括 增加(Create)、讀取查詢(Retrieve 取回)、更新(Update)和刪除(Delete) Spring不僅對JDBC進行了封裝,也對Hibernate進行了封裝,還有Ibatis jdbcTemplate與Java Web時的dbutils小型 ...
crud指資料庫或者持久層的基本操作,包括
增加(Create)、讀取查詢(Retrieve 取回)、更新(Update)和刪除(Delete)
Spring不僅對JDBC進行了封裝,也對Hibernate進行了封裝,還有Ibatis
jdbcTemplate與Java Web時的dbutils小型框架功能類似
封裝簡化了代碼,確需要jar包的支持,jdbcTemplate還需要兩個jar包:
spring-jdbc-4.2.4.RELEASE.jar
spring-tx-4.2.4.RELEASE.jar
之前有十個jar包,實現了beans annotation aop等功能,複製在下邊
需Spring壓縮包中的四個核心JAR包
beans 、context、core 和expression
下載地址:
https://pan.baidu.com/s/1qXLHzAW
以及日誌jar包
commons-logging 和log4j
下載地址:
https://pan.baidu.com/s/1mimTW5i
再增加一個
spring-aop-5.0.1.RELEASE.jar (用於註解,在Spring-framework庫中包含)
再增加
spring-aspects-5.0.1.RELEASE.jar (在Spring-framework庫中包含)
aspectjweaver-1.8.12.jar (官方下載地址 http://mvnrepository.com/artifact/org.aspectj/aspectjweaver)
aopalliance-1.0.jar (官方下載地址 http://mvnrepository.com/artifact/aopalliance/aopalliance/1.0)
簡單回顧一下原始的Java連接資料庫的操作
package com.swift; //這裡導入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class TestJDBC { public static void main(String[] args) { Connection conn=null; Statement st=null; ResultSet rs=null; try { //1、裝載驅動 Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { //2、鏈接資料庫,使用com.mysql.jdbc.Connection包會出錯 List<User> list=new ArrayList<User>(); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sw_database?user=root&password=root"); //3、創建連接語句 st=conn.createStatement(); //4、執行SQL語句獲得結果集 rs=st.executeQuery("select * from sw_user"); //5、迴圈獲得資料庫欄位生成對象 while(rs.next()) { int id=rs.getInt("id"); String username=rs.getString("username"); String password=rs.getString("password"); User user=new User(id,username,password); list.add(user); } //6、遍歷對象列表 for(User user:list) { System.out.println(user.toString()); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { //7、關閉結果集 try { if(rs!=null) { rs.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //7、關閉連接語句 try { if(st!=null) { st.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //7、關閉資料庫連接 try { if(conn!=null) { conn.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
String url="jdbc:mysql://localhost:3306/sw_database";
String u="root";
String p="root";
conn=DriverManager.getConnection(url, u, p);
連接資料庫也可以使用3個參數的方法
如果忘記倒入連接mysql資料庫的包,會出現上面的java.lang.ClassNotFoundException: com.mysql.jdbc.Driver問題
mysql-connector-java-5.1.7-bin.jar
下載地址:鏈接: https://pan.baidu.com/s/1geBRqqn 密碼: 8jxm
成功執行代碼後,顯示效果