这几天用的sql的动态拼装,一下子就想到的valuelist,但是valuelist有好多前端的东西我们又用不到,所以想了想决定吧valuelist的动态拼装提出来。直接上传源码,不喜勿喷!
<bean id="hibernate4Adapter" class="net.mlw.vlh.adapter.hibernate4.Hibernate4Adapter">
//jap的
<property name="sessionFactory" ref="entityManagerFactory" />
//hibernate的
<property name="sessionFactoryBean" ref="sessionFactoryBean" />
</bean>
<bean id="columnMapRowMapper" class="org.springframework.jdbc.core.ColumnMapRowMapper" />
<bean id="sqlPagingSupport" class="net.mlw.vlh.adapter.jdbc.util.SqlPagingSupport" />
<bean id="jdbcAdapter" class="net.mlw.vlh.adapter.jdbc.JdbcAdapter" >
<property name="showSql" value="${hibernate.showSql}" />
<property name="dataSource" ref="dataSource" />
<property name="rowMapper" ref="columnMapRowMapper" />
<property name="sqlPagingSupport" ref="sqlPagingSupport" />
</bean>
//这个配置文件必须有
${hibernate.dialect}
@Autowired
public Hibernate4Adapter hibernate4Adapter;
@Autowired
private JdbcAdapter jdbcAdapter;
@Test
public void jdbc(){
try {
String sql = "select * from inspur_topic where 1=1 " +
"/~name: and name = {name}~/" +
"/~name: and name = '[name]'~/" +
"/~sortColumn: order by [sortColumn] [sortDirection]~/";
HashMap filters = new HashMap();
filters.put("sortColumn", "id");
filters.put("pagingNumberPer", "2");
filters.put("sortDirection", "desc");
filters.put("pagingPage", "1");
filters.put("name", "新闻");
net.mlw.vlh.ValueListInfo info = new net.mlw.vlh.ValueListInfo(filters);
ValueList valueList = jdbcAdapter.getValueList(sql, info);
System.err.println(valueList.getList().size());
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void hibernate(){
try {
String hql = "from topic where 1=1 " +
"/~name: and name = {name}~/" +
"/~name: and name = '[name]'~/" +
"/~sortColumn: order by [sortColumn] [sortDirection]~/";
HashMap filters = new HashMap();
filters.put("sortColumn", "id");
filters.put("pagingNumberPer", "2");
filters.put("sortDirection", "desc");
filters.put("pagingPage", "1");
filters.put("name", "新闻");
net.mlw.vlh.ValueListInfo info = new net.mlw.vlh.ValueListInfo(filters);
ValueList valueList = hibernate4Adapter.getValueList(hql, info);
System.err.println(valueList.getList().size());
} catch (Exception e) {
e.printStackTrace();
}
}
有不明白的加群一起讨论:172429747
分享到:
相关推荐
标题“仿valuelist式动态sql拼装”指的是在编程中实现类似MyBatis的`<foreach>`标签功能,用于动态地拼接SQL语句,尤其是处理列表参数时的插入、更新或查询操作。这种技术常见于Java后端开发,尤其是在使用ORM(对象...
2. **数据库查询优化**:Valuelist可能采用SQL动态拼接技术,只查询所需的数据,而不是全表扫描,这显著提高了查询效率。 3. **结果封装**:将数据库查询结果转化为适合分页展示的对象列表,同时包含总条数、总页数...
本实例使用SSH框架整合开发,sqlserver2000数据库,valueList 插件,目的是练习分页插件的使用。由于jar包文件太多,故把jar包删去了,使用者只要加上SSH的jar文件,导入eclipse就可以运行
在Delphi编程环境中,`ValueList`是一种非常实用的组件,尤其对于初学者来说,它提供了方便的方式来管理和处理数据集合。`ValueList`组件通常用于存储键值对,类似于其他编程语言中的字典或哈希表。在这个压缩包中,...
"valuelist"是一个专为高性能表格展示设计的组件,主要应用于J2EE环境中,它提供了丰富的功能,如分页、分组以及排序等,旨在优化数据处理和用户体验。在这个项目中,我们可以看到一系列的JSP文件,这些文件是Web...
兔八哥ValueList文档翻译 概述:ValueList是一个强大的数据访问工具,它可以帮助开发者快速构建数据驱动的应用程序。本文档是ValueList的官方文档翻译,旨在帮助开发者更好地理解和使用ValueList。 一、ValueList...
3. `ValueListAdapter` 执行 SQL 查询,将查询结果转换为 `ValueList`,其中包含一组Java对象,这些对象反映了数据库中的记录。 4. 可以遍历 `ValueList`,处理或展示返回的数据。 **总结** ValueList 是一个简化...
valuelist;valuelist;valuelist;valuelist; 不错的表格控制技术
总的来说,ValueList技术提供了一种抽象层,将数据访问逻辑与业务逻辑分离,使得代码更易于维护和扩展。通过ValueListHandler和ValueListAdapter,开发者可以专注于业务逻辑,而无需关心底层数据查询的细节。这种...
- **兼容性**: 兼容多种数据库,包括MySQL、Oracle、SQL Server等,同时支持JDBC和ORM框架如Hibernate、MyBatis。 - **应用示例**:随组件提供的应用示例帮助开发者快速理解和使用,通过实际操作了解其工作原理和...
功能强大的JSP分页组件 valuelist0.1.8 封装的很好
这样,每次ValueList在拼装HQL之前,会先调用`IntegerSetter`中的`setParameter`方法,将接收到的String参数转换为Integer类型,然后再传递给HQL语句。这样既简化了代码,也避免了数据库迁移时的兼容性问题。 总结...
本项目以"权限控制(struts2+hibernate+spring+struts-menu+valuelist)"为主题,采用一系列成熟的技术栈来实现这一目标。下面我们将深入探讨这些技术及其在项目中的应用。 首先,Struts2作为MVC框架,负责处理HTTP...
sql.Append($"INSERT INTO TableName ({columnList}) VALUES ({valueList});"); } command.CommandText = sql.ToString(); command.ExecuteNonQuery(); ``` 这里,`columnList`和`valueList`应根据实际列和值...
public int updateSchools(String condition, List<Object> valueList, School sch) throws DBException; public List<School> findSchools(String conditions, List<Object> ValueList) throws DBException; ...
【ESQL/C简单插入语句】是Informix数据库系统中用于在C程序中执行SQL插入操作的方法。在学习这一主题后,你将掌握如何在数据库中通过嵌入SQL语句来插入一行记录。 **INSERT语句语法:** 插入语句的基本格式如下: `...
BaseItemLayout 更新 对项目进行了重构,详情请看项目重构 上个图 简介 在工作中经常会遇到下面的... List valueList = new ArrayList(); valueList.add("相册"); valueList.add("收藏"); valueList.add("钱包");