Code 【Java】MessageFormat.format({0},{1})格式化输出 随笔 编程 36次访问 09-08 15:05 ```java String fields="时间"; String sortDire="Desc"; //MessageFormat.format("field:{0},sortDire:{1}",fields,sortDire); System.out.println(MessageFormat.format("field:{0},sortDire:{1}",fields,sortDire)); field:时间,sortDire:Desc ``` 相较于String.Format()的占位符更好用 Read More→
Code 【事务控制】dbutils关于使用ThreadLocal实现事务控制 编程 29次访问 05-12 12:29 #### 前言 事务控制是数据库重要的一个环节,一个事务包含一个或多个SQL语句。 在我们的正常开发中,经常遇到需要一次执行多个SQL语句的情况,好比是插入后需要查询该条记录。亦或是保证事物的原子性和数据的一致性,我们必须在多条语句的业务中使用事物。 #### 分析 - **如何实现事务控制** 以使用dbutils为例: dbutils中一个connection就是一个事物,但是正常的业务操作使用了很多个dao的操作(QueryRunner)。  为保证dao的操作都能使用到同一个connection。我们在使用runner查询时可以在sql前加入同一个connecttion。实现业务层和持续层使用同一个connection. 如下图所示:那么可想而知,这个工具类方法的功能就是获取一个正在使用的connection.  - **那么为什么要使用ThreadLocal呢?** ThreadLocal的特性:“**隔离性**”它可以在指定线程中存储信息,且只能在该线程中进行存取,新创建的threadlocal对数据进行了备份,每个访问他的线程都会得到这个备份的副本,保证了线程的**安全**性;同时它作为一种线程域,能够隐式的获取对象。极大的降低了程序的**耦合**度。 #### 代码 ...... Read More→
Code 今日加急新增功能备忘录 更新 博客相关 31次访问 02-08 12:54 1. ~~增加回复评论功能~~ 1. **关键字优化** 1. ~~访问量显示(以Read More和基础的数据库内统计)~~ 1. ~~后台文章列表大小高度优化~~ 1. ~~后台新增查看评论,~~~~显示文章访问量~~ 1. ~~修复主页时间12小时制显示的BUG~~(时间戳转换格式错误所致) 1. ~~~~添加点击头像回到主页的提示。~~  Read More→
Code 【Knuth洗牌算法】如何在多个值中不重复的抽取任意个数? 编程 算法 C# 11次访问 01-26 19:53 有时我们在随机生成上会遇到一个问题,如果我们需要从多个值中**不重复**的**随机的**抽出**任意**个参数。 例如如何从8张卡牌中公平的抽取4张,且不重复。 那么洗牌算法是最好的选择。 洗牌算法,顾名思义就是如同洗牌一样将一组数据的顺序打乱。 ```csharp public class Utility : MonoBehaviour { //knuth洗牌算法 public static T[] Knuth(T[] _datelist) { for (int i = 0; i < _datelist.Length; i++) { int randomNum = Random.Range(0, _datelist.Length);//随机生成一个下标 T temp = _datelist[i]; _datelist[i] = _datelist[randomNum]; _datelist[randomNum] = temp; } return _datelist; } } ``` Read More→
Code CSS实现动态导航栏 css 编程 html html小技巧 18次访问 01-24 22:59 美化导航栏一来可以让网站显得不那么死板,二来也能提高游客的访问效率。 话不多少直接上效果  这个效果首先可以拆分成两部门: - 文字移动 - 窗格显示 ####文字移动 1. 文字移动十分简单,首先加入transtion组件,增加过度效果 ```css #sidebar a{ color: #fff; transition:all .4s ease; } ``` 1. 然后在父级添加“:hover”,改变padding-right实现平移效果。 ```css #sidebar li:hover a{ padding-right: 15px; } ``` Read More→