当前soul-table版本 v1.0
, layui版本:v2.5.4
mybatis版: master分支
mybatis-plus版: mybatis-plus分支
hibernate版: hibernate分支
所有筛选demo:https://yelog.org/layui-soul-table/ 仅后台java版demo:https://soultable.xiangzhangshugongyi.com/
当然你也可以下载此项目运行查看。
soulTable的前台使用方法跳转到https://github.com/yelog/layui-soul-table 查看,这里就不赘述了。
这里只讲如何使用后台筛选,喜欢的点个 start, 谢谢🙏
由于插件是基于 mybatis
的,所以项目要引用 mybatis
, 由于引用 mybatis
不是本文重点,所以有需要自行网上查找,或参考本项目代码。
1)前端插件(js、css)的引入参考soulTable
2) 将文件 FilterSo
SoulTableInterceptor
ReflectHelper
SoulPage
复制到自己的项目中。(文件位置src/main/java/org/yelog/soultable/util/
)
在自己项目的 sqlSessionFactory
配置中引用插件 SoulTableInterceptor
,
路径使用上一步自己放的位置,如下,dbType配置自己使用的数据库,目前支持:mysql、oracle
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
<property name="plugins">
<bean class="org.yelog.soultable.util.SoulTableInterceptor">
<property name="dbType" value="mysql" />
</bean>
</property>
</bean>
- controller 层
注:poetrySo用于接收自定义的一些查询条件, soulPage的泛型也可使用Map:比如
dataGrid(SoulPage<Map<String, Object>> soulPage, String name, String title)
这里把查询条件塞到soulPage.obj
中只是为了向service层传值方便。
@RequestMapping("/poetry/dataGrid")
@ResponseBody
public Object dataGrid(SoulPage<Poetry> soulPage, PoetrySo poetrySo) {
soulPage.setObj(poetrySo);
return poetryService.dataGrid(soulPage);
}
- service 层
@Override
public Object dataGrid(SoulPage<Poetry> soulPage) {
return soulPage.setData(poetryMapper.dataGrid(soulPage,(PoetrySo) soulPage.getObj()));
}
3)Dao 层
注:查询语句的第一参数必须是:soulPage
List<Poetry> dataGrid(SoulPage<Poetry> soulPage, @Param("so") PoetrySo poetrySo);
需要安装 docker
和 docker-compose
# 编译项目生成 war包
mvn clean package -Dmaven.test.skip=true
# 根据 docker-cokmpose.yml 构建镜像
docker-compose build
# 启动
docker-compose up -d
当然具体的可以clone下来代码查看,有问题可以在 issue 区提问,我会尽可能快的回复。