Spring框架针对dao层的jdbcTemplate操作 包括crud

Posted Advancing Swift

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring框架针对dao层的jdbcTemplate操作 包括crud相关的知识,希望对你有一定的参考价值。

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

成功执行代码后,显示效果

 


 

以上是关于Spring框架针对dao层的jdbcTemplate操作 包括crud的主要内容,如果未能解决你的问题,请参考以下文章

Spring框架针对dao层的jdbcTemplate操作crud之delete删除数据库操作 Spring相关Jar包下载

SSM框架下各个层的解释说明

ssm框架目录结构详解

#私藏项目实操分享#专为初学者打造—Spring框架学习笔记

Java框架之spring—jdbcTemplate

谈谈对spring boot分层中各层的理解