vue的template用法 template标签是什么意思


vue的template用法 template标签是什么意思

文章插图
jdbcTemplate.queryForObject方法入参不支持以Map的形式传递参数,需要按照sql语句中参数的顺序组织入参的List 。jdbcTemplate.queryForObject方法直接不支持的in查询 。只支持Integer.class String.class 这种单数据类型的入参 。
例如:List<Long> idList = ...;String name = ...;StringBuilder idListSb = new StringBuilder();for(Long id : idList){idListSb.append(id + ",");}String sql = "select count(*) from user where id in (?) and name = ?";List<Object> objects = new ArrayList<>();objects.add(idListSb.toString().RTrim(','));object.add (name);jdbcTemplate.queryForObject(sb.toString(),objects,Long.class);而NamedParameterJdbcTemplate时,其本来就支持in查询和Map类型的入参 。
List<Long> idList = ...;String name = ...;String sql = "select * from user where id in (:ids) and name = :name";Map<String, Object> param= new HashMap<>();param.put("ids", idList);param.put("name", name);namedParameterJdbcTemplate.queryForObject(sb.toString(),param,Long.class);一、JdbcTemplateSpring对数据库的操作在jdbc上面做了深层次的封装,提供了一个 Jdbc Template 类,我们可以直接使用 。只需要把DataSource注册到JdbcTemplate之中,其全限定命名为org.springframework.jdbc.core.JdbcTemplate 。要使用JdbcTemlate一般还需要事务和异常的控制 。
JdbcTemplate的几类方法execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;query方法及queryForXXX方法:用于执行查询相关语句;call方法:用于执行存储过程、函数相关语句 。JdbcTemplate的常用方法//update操作单个增删改int update(String sql,Object[] args)int update(String sql,Objcet... args)//batchUpdate批量增删改int[] batchUpdate(String[] sql)int[] batchUpdate(String sql,List<Object[]>)//单个简单查询T queryForObjcet(String sql,Class<T> type)T queryForObjcet(String sql,Object[] args,Class<T> type)T queryForObjcet(String sql,Class<T> type,Object... arg)//获取多个List<T> queryForList(String sql,Class<T> type)List<T> queryForList(String sql,Object[] args,Class<T> type)List<T> queryForList(String sql,Class<T> type,Object... arg)查询复杂对象(封装为Map)//获取单个Map queryForMap(String sql)Map queryForMap(String sql,Objcet[] args)Map queryForMap(String sql,Object... arg)//获取多个List<Map<String,Object>> queryForList(String sql)List<Map<String,Object>> queryForList(String sql,Obgject[] args)List<Map<String,Object>> queryForList(String sql,Obgject... arg)查询复杂对象(封装为实体对象)Spring JdbcTemplate是通过实现org.springframework.jdbc.core.RowMapper这个接口来完成对entity对象映射 。
//获取单个T queryForObject(String sql,RowMapper<T> mapper)T queryForObject(String sql,object[] args,RowMapper<T> mapper)T queryForObject(String sql,RowMapper<T> mapper,Object... arg)//获取多个List<T> query(String sql,RowMapper<T> mapper)List<T> query(String sql,Object[] args,RowMapper<T> mapper)List<T> query(String sql,RowMapper<T> mapper,Object... arg)Spring JDBC中目前有两个主要的RowMapper实现,使用它们应该能解决大部分的场景了:SingleColumnRowMapper和BeanPropertyRowMapper 。SingleColumnRowMapper:返回单列数据BeanPropertyRowMapper:当查询数据库返回的是多列数据,且需要将这些多列数据映射到某个具体的实体类上 。
//示例:String sql = "select name from test_student where id = ?";jdbcTemplate.queryForObject(sql, new Object[]{id}, new SingleColumnRowMapper<>(String.class));String sql = "select name, gender from test_student where name = ?";jdbcTemplate.queryForObject(sql, new Object[]{name},new BeanPropertyRowMapper<>(Student.class));定义自己的RowMapper如果你SQL查询出来的数据列名就是和实体类的属性名不一样,或者想按照自己的规则来装配实体类,那么就可以定义并使用自己的Row Mapper 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: