zoukankan      html  css  js  c++  java
  • spring jdbc学习1

    1.queryForObject

      - 其中的 RowMapper 指定如何去映射结果集的行, 常用的实现类为 BeanPropertyRowMapper

      - 使用 SQL 中列的别名完成列名和类的属性名的映射. 例如 last_name lastName

      -不支持级联属性(如:depatmant.id). JdbcTemplate 到底是一个 JDBC 的小工具, 而不是 ORM 框架

    String sql = "select id,last_name name,email from employees where id=?";
    RowMapper<Employee> rowMapper = new BeanPropertyRowMapper<>(Employee.class);
    Employee employee = jdbcTemplate.queryForObject(sql, rowMapper, 1);
    System.out.println(employee);

     2.配置NamedParameterJdbcTemplate,此对象可以使用具名参数,其没有无参数的构造器

    <bean class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"
          id="namedParameterJdbcTemplate">
        <constructor-arg ref="dataSource"></constructor-arg>
    </bean>

    3.使用具名参数时, 可以使用 update(String sql, SqlParameterSource paramSource) 方法进行更新操作

      -SQL 语句中的参数名和类的属性一致!

      -使用 SqlParameterSource 的 BeanPropertySqlParameterSource 实现类作为参数.

    String sql = "insert into employees (last_name,email,dept_id) values(:name,:email,:deptId)";
    
    Employee employee = new Employee();
    employee.setEmail("gg@gmail.com");
    employee.setName("yaso");
    employee.setDeptId(3);
    
    SqlParameterSource parameterSource = new BeanPropertySqlParameterSource(employee);
    namedParameterJdbcTemplate.update(sql, parameterSource);
  • 相关阅读:
    Q:简单实现URL只能页面跳转,禁止直接访问
    Q:elementUI中tree组件动态展开
    一个切图仔的 JS 笔记
    一个切图仔的HTML笔记
    一个切图仔的 CSS 笔记
    GnuPG使用笔记
    SQL Svr 2012 Enterprise/Always-on节点连接超时导致节点重启——case分享
    网卡配置文件备份在原目录下引起网络配置异常
    python培训
    service脚本的写法
  • 原文地址:https://www.cnblogs.com/djdjfj/p/9492110.html
Copyright © 2011-2022 走看看