• 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);
  • 相关阅读:
    mysql字符生命周期
    mysql5.6特殊字符问题
    电信网关-天翼网关-GPON-HS8145C设置桥接路由拨号认证
    linux-shell脚本高并发对文本url批量下载
    Kettle7.1在window启动报错
    微软的在线文档存储OneDrive使用帮助
    centos6.5搭建redmine3.4
    mysql基础拓扑图
    线上应用故障排查之一:高CPU占用
    线上服务CPU100%问题快速定位实战
  • 原文地址:https://www.cnblogs.com/djdjfj/p/9492110.html
Copyright © 2020-2023  润新知