学习JFinal

1.五个配置类

configConstants(配置):

configRoute(路由):

2.Controller层(控制器)

 访问流程:

 Action:

getPara:

参数说明:第一个参数是如果是字符串就是指定key名称,如果是索引就是从0开始索引。

第二个参数就是如果前端没传参就是指定默认值。

getParaToInt(double,float):这个就是将参数强制转化成指定类型,第二个参数同上

getBean和getModel: 

第一个参数是指定映射的实体类,如果是getModel实体类必须Model的子类,并且做好数据库的映射,第二个参数是指定前端传来的前缀。

getFile:

第一个参数是指定文件的名称,第二个参数是指定文件的上传路径

上传多个文件用getFiles

3.JFinal操作数据库 

配置数据源:

在configPlugin中配置:

注意配置之后一定要引入数据库的jar包到lib目录,解决乱码的话直接在url那里添加?characterEncoding=utf-8。

实体类也要注意继承Model类,并且加载dao:

简单的新增和查询:

简单的增删改查:

 新增:

删除:
 修改:

 查询:

注意事项:

 高级查询:

 controller调用service:

单个查询返回List:

单个查询返回单个:

动态拼接以及条件查询:

使用stringBuffer:

分页查询:

1. `page.getTotalRow()`:返回的是查询结果的总行数,即数据库中符合查询条件的总数据项数。

2. `page.getPageNumber()`:返回的是当前的页码数,表示用户正查看分页数据的哪一页。

3. `page.getPageSize()`:返回的是页面大小,即每一页显示的记录数。

4. `page.getTotalPage()`:返回的是总页数,基于总记录数和页面大小计算得出。

5. `page.isFirstPage()`:返回的是一个布尔值,指示当前页是否是第一页。

6. `page.isLastPage()`:返回的是一个布尔值,指示当前页是否是最后一页。

7. `page.getList()`:返回的是当前页的数据列表,包含了类型为`T`的对象列表。

按照条件的分页查询:

使用缓存进行查询:

配置xml文件:

1. `name`:缓存的名字,可以根据名字来获取特定的缓存配置。

2. `maxEntriesLocalHeap`:缓存中最大可以存储在本地堆中的对象数目。

3. `eternal`:设置对象是否永恒存活。如果为`true`,则超时设置将被忽略。

4. `overflowToDisk`:当堆内存中的缓存达到上限后,是否允许缓存数据溢写到磁盘。

5. `timeToLiveSeconds`:设置缓存数据的存活时间,即对象被创建后多久后会过期。

6. `timeToIdleSeconds`:设置缓存数据的空闲时间,即对象最后一次被访问后多久会过期。

7. `diskPersistent`:是否在JVM重启过程中保持磁盘上的缓存数据持久化。

8. `diskExpiryThreadIntervalSeconds`:磁盘失效线程运行的时间间隔,用来清理过期的磁盘存储。

9. `memoryStoreEvictionPolicy`:内存存储的驱逐策略。例如,“LFU”代表最少使用策略,意味着最不经常使用的元素将被驱逐出缓存。

配置缓存插件这是缓存本地的不是redis:

查询的时候查询缓存:

1. `"aabb"`:缓存名称,这应该是配置文件中定义的一个缓存的名字,用来指定哪个缓存策略将被用于当前的分页缓存。

2. `"paginate"+page`:缓存键的前缀,这个键是用来在缓存中唯一标识存储的分页数据。通常包含页码信息来确保每个页码的数据缓存是唯一的。

3. `page`:当前的页码,表示你想要查询的分页结果的页码。

4. `pageSize`:页面大小,即每页显示的记录数。

5. `select`:SELECT 部分的SQL语句,它用于指定要从数据库中选择哪些列。

6. `sqlExceptSelect.toString()`:除了SELECT之外的SQL语句部分,包括FROM、WHERE、ORDER BY等。

7. `params.toArray()`:SQL语句中占位符对应的参数数组,它用于在执行查询时传递参数。

在进行增删改操作的时候删除缓存:

Db实现批量操作:

 统计数量,可以根据类型去查询

批量更新:

量更新已存在的记录。列表中的每个模型对象通常代表了一个已存在的数据库记录,并且每个模型对象应当包含一个有效的ID,以便能够对应到数据库中的正确记录。

  1. userList:第一个参数是一个列表(List)对象,它包含了你想要批量更新的模型对象。在这个上下文中,userList应该是一个List<UserModel>的实例,其中UserModel是一个JFinal的模型类,代表了数据库中的用户表。

  2. userList.size():第二个参数指定了一次批量操作中的语句数量,这里使用userList.size()意味着你想要一次性更新列表中所有的用户模型对象。

 批量新增:

  • Db.batchSave:批量新增记录。列表中的每个模型对象将会被视为新的记录并插入到数据库中。这些模型对象通常不应包含ID,因为ID通常由数据库在插入时自动生成(除非数据库设计允许显式指定ID)。

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值