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);
  • 相关阅读:
    Centos7安装配置JDK8
    Jmeter学习笔记
    mysql5.7版本免安装配置教程
    mysql查看线程详解(转载)
    xpath定位方法小结(转载)
    nginx负载均衡的5种策略(转载)
    loadrunner多场景的串行执行以及定时执行
    mysql 远程连接超时解决办法
    JAVA内存构成详解
    jconsole远程连接超时问题解决方法
  • 原文地址:https://www.cnblogs.com/djdjfj/p/9492110.html
Copyright © 2011-2022 走看看