十二生肖分享

生肖之起源

十二生肖,又叫属相,是中国与十二地支相配以人出生年份的十二种动物,包括鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪。其起源与动物崇拜有关。

据湖北云梦睡虎地和甘肃天水放马滩出土的秦简可知,先秦时期即有比较完整的生肖系统存在。最早记载与现代相同的十二生肖的传世文献是东汉王充的《论衡》。云:“寅,木也,其禽,虎也。戌,土也,其禽,犬也”。
image.png

生肖之时辰

(鼠)子时(23点-01点):正是老鼠趁夜深人静,频繁活动之时

(牛)丑时(01点-03点):牛习惯夜间吃草,农家常在深夜起来挑灯喂牛

(虎)寅时(03点-05点):此时老虎到处游荡觅食,最为凶猛

(兔)卯时(05点-07点):这时太阳尚未升起,月亮还挂在天上,此时玉兔捣药正忙

(龙)辰时(07点-09点):此时容易起雾,传说龙喜腾云驾雾,又值旭日东升,蒸蒸日上,正是神龙行雨的好时光

(蛇)巳时(09点-11点):大雾散去,艳阳高照,蛇类出洞觅食

(马)午时(11点-13点):古时野马未被人类驯服,每当午时,四处奔跑嘶鸣

(羊)未时(13点-15点):放羊的好时候

(猴)申时(15点-17点):太阳偏西了,猴子喜在此时啼叫

(鸡)酉时(17点-19点):太阳落山了,鸡在窝前打转

(狗)戌时(19点-21点):人劳碌一天,闩门准备休息了。狗卧门前守护,一有动静,就汪汪大叫

(猪)亥时(21点-23点):夜深人静,能听见猪拱槽的声音
image.png
image.png

生肖之年份的计算

元旦?
春节?
立春?

十二生肖,相配于十二地支,因此属相的依据是干支纪年法,中国传统纪年历法。
干支纪年法,将天干与地支顺序相配,正好60为一周期,周而复始,循环记录。
凡是含有“子”的干支年,就是“鼠年”,这一年里出生的人都是属“鼠”,以此类推。

东汉初期,光武帝刘秀时期民间已使用干支纪年。新中国成立后,农历仍用干支纪年。干支纪年和生肖纪年岁首均始于正月初一。

公元2017年5月12日(农历丁酉年四月十七)国家发布了《中华人民共和国国家标准GB/T33661—2017〈农历的编算和颁行〉》规定了干支纪年和生肖纪年起于正月初一0点。
image.png
image.png

为什么会有立春的说法呢?

天文学家张培瑜等人合作完成《中国古代历法》,

干支历,以立春为岁首,交节日为月首。

仍有地区一直沿袭以立春为起点计算生肖。

在古代干支历日多与历法纪时配合,只在历书(黄历)中注记或民间用于象数、选择和命理学中,它在历法上的作用一直未能得到很好的认识。

生辰八字,简称八字,是一个人出生时的干支历日期。
image.png

生肖之相合相克相冲(仅供参考)

在命理学中,十二生肖与十二地支相对应,十二地支具有五行相生相克及刑冲会合的关系。

十二地支的五行属性:亥子属水,寅卯属木,巳午属火,申酉属金,辰戌丑未属土。

子午相冲,丑未相冲,寅申相冲,卯酉相冲,辰戌相冲,巳亥相冲。
子未相害,丑午相害,寅巳相害,卯辰相害,申亥相害,酉戌相害。
image.png

生肖之传说故事-关于排序

当年黄帝要选十二种动物担任宫廷卫士,猫托老鼠报名,老鼠给忘了,结果猫没有选上,从此与鼠结下冤家。大象也来参赛,被老鼠钻进鼻子,给赶跑了,其余的动物,原本推牛为首,老鼠却窜到牛背上,猪也跟着起哄,于是老鼠排第一,猪排最后。虎和龙不服,被封为山中之王和海中之王,排在鼠和牛的后面。兔子又不服,和龙赛跑,结果排在了龙的前面。狗又不平,一气之下咬了兔子,为此被罚在了倒数第二。蛇、马、羊、猴、鸡也经过一番较量,一一排定了位置,最后形成了鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪的顺序。

根据十二地支记录一天的十二个时辰,不同的时辰对应动物的活动时间和习性。
image.png

生肖之传说故事-为何没有猫

传说很久以前,人们说:“我们要选十二种动物作为人的生肖,一年一种动物。”天下的动物有多少呀?怎么个选法呢?这样吧,定好一个日子,这一天,动物们来报名,就选先到的十二种动物为十二生肖。猫和老鼠是邻居,又是好朋友,它们都想去报名。猫说:"咱们得一早起来去报名,可是我爱睡懒觉,怎么办呢?”老鼠说:“别着急,别着急,你尽管睡你的大觉,我一醒来,就去叫你,咱们一块儿去。"猫听了很高兴,说:“你真是我的好朋友,谢谢你了。”到了报名那天早晨,老鼠早就醒来了,可是它光想到自己的事,把好朋友猫的事给忘了。就自己去报名了。结果,老鼠被选上了。猫呢?猫因为睡懒觉,起床太迟了,等它赶到时,十二种动物已被选定了。猫没有被选上,就生老鼠的气,怪老鼠没有叫它,从这以后,猫见了老鼠就要吃它,老鼠就只好拼命地逃,现在还是这样。

猫是在汉代以后才传入中国的。

十二生肖与古代农业生产和生活密切相关,而猫作为宠物与农业生产不太相关,猫不具备生肖动物具有的正面象征意义。
image.png

十二生肖兽首

圆明园共分为三个园:西侧的圆明园、东侧的长春园和绮春园,整体建筑风格是江南水乡,其中也有很多欧式建筑,最大的一处欧式建筑就是长春园北侧的海晏堂,而十二生肖兽首就是放置于海晏堂的楼门前。

1860年,英法两国掠夺完圆明园后,十二生肖兽首就流落民间,销声匿迹。

1985年,美国一位古董商人从一户人家以1500美元买下牛首,虎首,马首。三年之后,这三个兽首和猴首相继出现在纽约和伦敦的拍卖会上,最终每个兽首平均成交价约23万美金。

2000年,牛首,虎首,猴首出现在香港佳士得和香港苏富比的拍卖会,两家公司行为引起各界人士不满,因为这些文物为掠夺所得,按照国际惯例应该归还所属国。最终,保利集团以牛首700万港币,虎首1400万港币,猴首740万港币拍得,并上交国家。
这次拍卖对两家拍卖行来说简直是大获成功。拍卖中国的文物就会引来社会的关注,社会一关注机会引来爱国人士,爱国人士竞拍就会高于市场价格成交。

2003年,澳门赌王何鸿燊先生出资收购猪首,价格未公布,据说是五六百万港币。

2007年,何鸿燊先生以6910万港币的价格在苏富比拍卖会上拍得马首,上交国家。

2009年,鼠首,兔首出现在法国佳士得拍卖会,起拍价飚至1000万欧元,被中国公司流拍,拯救流失文物的间接办法,之后法国皮诺家族突然出手买下并捐给中国。
image.png
image.png

### 解决方案 在 MyBatis-Plus 的代码生成器中,默认情况下不会覆盖已存在的文件。如果希望实现 `UserMapper.xml` 文件的覆盖功能,则可以通过自定义模板引擎来完成此操作。 以下是具体的解决方案: #### 自定义 FreeMarker 模板引擎 通过继承 `DefaultFreemarkerTemplateEngine` 类来自定义模板引擎,并设置其行为以允许覆盖已有文件。 ```java import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import com.baomidou.mybatisplus.core.toolkit.StringPool; public class CustomFreeMarkerTemplateEngine extends FreemarkerTemplateEngine { @Override protected void outputFile(String templateName, String filePath, Map<String, Object> objectMap) throws Exception { super.outputFile(templateName, filePath, objectMap); System.out.println("Generated file: " + filePath); // 可选日志记录 } } ``` 上述方法会调用父类中的 `outputFile` 方法,而默认的行为已经包含了覆盖逻辑[^1]。 #### 配置 GeneratorConfig 中的 Template Engine 为了使自定义模板生效,在初始化 `AutoGenerator` 对象时需指定该模板引擎实例。 ```java import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.baomidou.mybatisplus.generator.config.PackageConfig; import com.baomidou.mybatisplus.generator.config.StrategyConfig; import com.baomidou.mybatisplus.generator.config.TemplateConfig; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; public static void main(String[] args) { AutoGenerator mpg = new AutoGenerator(); // 设置数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("password"); mpg.setDataSource(dsc); // 全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); // 输出目录 gc.setAuthor("luoyu"); // 作者名称 gc.setOpen(false); // 是否打开输出目录 gc.setFileOverride(true); // 开启文件覆盖模式 mpg.setGlobalConfig(gc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.example.demo"); pc.setModuleName(null); // 不使用模块名 mpg.setPackageInfo(pc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); strategy.setInclude("user"); // 表名集合 mpg.setStrategy(strategy); // 模板配置 (可选) TemplateConfig tc = new TemplateConfig(); tc.setXml(null); // 如果不需要 XML 则可以禁用它 mpg.setTemplate(tc); // 使用自定义模板引擎 mpg.setTemplateEngine(new CustomFreeMarkerTemplateEngine()); // 执行生成 mpg.execute(); } ``` 以上代码片段展示了如何启用文件覆盖机制以及集成自定义模板引擎的功能[^2]。 --- ### 注意事项 1. **确认依赖版本** 确保项目使用的 MyBatis-Plus 版本与 Spring Boot 版本兼容。例如,Spring Boot 2.2.5 和 MyBatis-Plus 3.3.1 是经过验证的组合。 2. **路径冲突检测** 当前工作目录下的目标路径应确保无权限限制或其他潜在冲突问题。 3. **XML 覆盖风险评估** 启用文件覆盖可能会导致手动调整的内容被丢失,请提前备份重要文件。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值