• Spring_day03--课程安排_基于aspectj的注解aop_Spring的jdbcTemplate操作


    Spring_day03

    上节内容回顾

    今天内容介绍

    基于aspectj的注解aop

    Spring的jdbcTemplate操作

    增加

    修改

    删除

    查询

    Spring配置c3p0连接池和dao使用jdbcTemplate

    Spring的事务管理

    事务概念

    Spring事务管理api

    搭建转账环境

    声明式事务管理(xml配置)

    声明式事务管理(注解)

    Spring_day03

    上节内容回顾

    1 注解ioc操作

    (1)使用注解创建对象

    - 四个注解

    (2)使用注解注入属性

    - 两个注解

    2 aop

    (1)aop原理

    (2)aop术语

    - 切入点

    - 增强

    - 切面

    3 spring的aop操作

    (1)基于aspectj的xml方式

    今天内容介绍

    1 基于aspectj的注解aop操作(会用)

    2 spring的jdbcTemplate操作

    (1)实现crud操作

    - 增加、修改、删除,调用模板update方法

    - 查询某个值时候,调用queryForObject方法

    --- 自己写实现类封装数据

    - 查询对象,调用queryForObject方法

    - 查询list集合,调用query方法

    3 spring配置连接池

    (1)配置c3p0连接池

    (2)dao注入jdbcTemplate操作

    4 spring事务管理

    (1)事务概念

    (2)spring进行事务管理api

    - spring针对不同的dao层框架提供不同的实现类

    (3)spring进行事务配置(声明式)

    - 基于xml配置文件

    - 基于注解方式

    基于aspectj的注解aop

    1 使用注解方式实现aop操作

    导包,引入约束

    两个类Book和MyBook,增强Book类中的add()方法

    第一步 创建对象

    第二步 在spring核心配置文件中,开启aop操作

    第三步 在增强类上面使用注解完成aop操作

    控制台:

    before...........

    add...........

    Spring的jdbcTemplate操作

    1 spring框架一站式框架

    (1)针对javaee三层,每一层都有解决技术

    (2)在dao层,使用 jdbcTemplate

    2 spring对不同的持久化层技术都进行封装

    (1)jdbcTemplate对jdbc进行封装

    3 jdbcTemplate使用和dbutils使用很相似,都数据库进行crud操作

    增加

    1 导入jdbcTemplate使用的jar包

    2 创建对象,设置数据库信息

    3 创建jdbcTemplate对象,设置数据源

    4 调用jdbcTemplate对象里面的方法实现操作

    先创建spring_day03数据库,再创建表user,包含username和password两个字段

    运行add()方法成功在表中插入了数据

    修改

    删除

    查询

    1 使用jdbcTemplate实现查询操作

    2 查询具体实现

    第一个 查询返回某一个值

    (1)第一个参数是sql语句

    (2)第二个参数 返回类型的class

    Jdbc实现

    //2 jdbc实现代码
        @Test
        public void testJDBC() {
            Connection conn = null;
            PreparedStatement psmt = null;
            ResultSet rs = null;
            //加载驱动
            try{
                Class.forName("com.mysql.jdbc.Driver");
                //创建连接
                conn = DriverManager.getConnection("jdbc:mysql:///spring0702","root","root");
                //编写sql语句
                String sql = "select * from user where username=?";
                //预编译sql
                psmt = conn.prepareStatement(sql);
                //设置属性值
                psmt.setString(1, "jack");
                //执行sql语句
                rs = psmt.executeQuery();
                //遍历结果集
                while(rs.next()) {
                    //得到返回结果集
                    String username = rs.getString("username");
                    String password = rs.getString("password");
                    //放到user对象里面
                    User user = new User();
                    user.setUsername(username);
                    user.setPassword(password);
                    System.out.println(user);
                }
            }catch (Exception e) {
                e.printStackTrace();
            }finally {
                try {
                    rs.close();
                    psmt.close();
                    conn.close();
                }catch (SQLException e) {
                    e.printStackTrace();
                }
            }

    第二个 查询返回对象

    第一个参数是sql语句

    第二个参数是 RowMapper,是接口,类似于dbutils里面接口

    第三个参数是 可变参数

    第三个 查询返回list集合

    (1) sql语句

    (2) RowMapper接口,自己写类实现数据封装

    (3) 可变参数

    以上写的代码都是在单元测试中的写到的,真正开发中jdbc模板要`用到dao层,dao里边要用到dao模板,spring中有个ioc,ioc就是把对象创建交给spring容器管理,在dao里边可以写这个设置数据库信息的代码,但不建议这么写,把这些过程交给spring配置实现。

  • 相关阅读:
    android 限定符参考
    Fragment生命周期
    碎片和活动之间通信
    Fragment碎片的使用
    使用Intent传值及回传值
    Calendar 获取年 月 日 时 分 秒
    Python函数:2018-07-30
    Python 字符串 2018-07-27
    Python 异常 2018-08-01
    __future__ 模块 2018-08-09
  • 原文地址:https://www.cnblogs.com/justdoitba/p/7885366.html
Copyright © 2020-2023  润新知