发表于: 2018-01-19 23:56:25

2 475


今日完成:

Jdbc

1 加载驱动 Class.forName("com.mysql.jdbc.driver");

2 获得连接 Connection con=DriverManager.getConnection(url,userName,password);

3 获得Statement Statement st=con.createStatement();

4 执行sql并获得ResultSet rs=st.executeQuery(sql);

5 处理rs中的数据

             while (rs.next()) { 

                System.out.println(rs.getString("Aname")); 

            } 

6 处理异常

7 关闭连接

JdbcTemplate可以理解为将不变的部分123467抽象成抽象类的普通方法,而将5作为抽象函数,由子类根据需要进行实现:

public abstract class JDBCTemplate  {

    //普通方法

    public Object execute(String sql) {

        String  url="";

        String  userName="";

        String  password="";

        Connection con=null;

        Statement st=null;

        ResultSet rs=null;

        try{

            Class.forName("com.mysql.jdbc.driver"); 

            con=DriverManager.getConnection(url,userName,password); 

            st=con.createStatement(); 

            rs=st.executeQuery(sql); 

            //把的第五步抽象出来交给子类处理 

            Object object=doResultSet(rs);

            return object;

        }

        catch (ClassNotFoundException e){

            e.printStackTrace();

        }

        catch(SQLException e){

            e.printStackTrace();

        }

        finally{

            try{

            if(rs!=null){

                rs.close();

                rs=null;

            }

            }catch(SQLException e){

                e.printStackTrace();

            }

        }

        return null;

    }

    //抽象出来 交给子类处理

    public abstract Object doResultSet(ResultSet rs);

}

Springjdbc进行深层次的封装,在配置文件中将DataSource注入到JdbcTemplate,再将JdbcTemplate注入到DAOimpl中。

DAOimpl类中使用JdbcTemplate实现CRUD

JdbcTemplate主要提供以下五类方法:

execute方法:可以用于执行任何SQL语句;

update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;

query方法及queryForXXX方法:用于执行查询相关语句;

call方法:用于执行存储过程、函数相关语句。

最后可以通过springgetbean获取DAO实现类。

明日计划:

1.       学习Spring注解

2.       总结Spring+mybatis

3.       总结Linux常用命令。

遇到的问题:

1.       JdbcTemplate提供了CRUD的多种方法,该如何选择,有没有最有的方法

收获:

1.       通过和jdbc做比较,对Spring+JdbcTempale有了比较清晰的理解,spring的依赖注入节省了很多代码书写,降低了耦合,也提高了代码的复用



返回列表 返回列表
评论

    分享到