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(); } } } }
时间: 2024-10-10 10:20:08