Spring JDBCTemplate:如何从 Spring 控制器调用 MySQL 模式中的视图

Spring JDBCTemplate: How to call a View in MySQL schema from Spring Controller

我在 MySQL 架构中有一个视图已经执行了以下操作: 我的问题是如何使用 jdbctemplate 调用该视图?

    // insert person into database
    jdbcTemplate.update(
        "INSERT INTO Person (FirstName, LastName, Address, Phone, City, State, ZipCode) VALUES (?, ?, ?, ?, ?, ?, ?)",
        person.getFirstName(), person.getLastName(), person.getAddress(), person.getPhone(), person.getCity(), person.getState(), person.getZipCode()
    );

    // get this persons generated id from the DB
    int personId = jdbcTemplate.queryForObject(
        "SELECT Id FROM Person WHERE FirstName=? AND LastName=?", new Object[]{person.getFirstName(), person.getLastName()}, int.class);

    // create user account for person
    jdbcTemplate.update(
        "INSERT INTO User (person_Id, active, username, password) VALUES (?, ?, ?, ?)",
        personId, 1, username, password
    );

    int userId = jdbcTemplate.queryForObject(
        "SELECT user_id FROM User WHERE username=? AND password=?", new Object[]{username, password}, int.class);

    // finally add role to user
    // by default, all users are set to Customer roles.
    jdbcTemplate.update(
        "INSERT INTO User_role (user_id, role_id) VALUES (?, ?)",
        userId, Role.CUSTOMER_ROLE
    );
选择数据时,

Views 可以像 JDBC 中的任何其他表一样访问。所以,像下面这样的东西对我们来说很好。

 int personId = jdbcTemplate.queryForObject(
        "SELECT Id FROM Our_View WHERE FirstName=? AND LastName=?", new Object[]{person.getFirstName(), person.getLastName()}, int.class);

但是,对于 Mysql 中的可更新和可插入视图,请参考 here