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连接数据库的操作
packagecom.swift;//这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importjava.util.List;public classTestJDBC {public static voidmain(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 list=new ArrayList();
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=newUser(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();
}
}
}
}
原文:http://www.cnblogs.com/qingyundian/p/7892049.html