范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

SpringBoot整合ORM开发框架MyBatis和JPA

  1、在使用Spring整合ORM组件的过程中,为了达到简化的目的,往往会进行大量的配置。利用SpringBoot可以进一步实现配置的简化。SpringBoot整合MyBatis开发框架,MyBatis是一款常用并且配置极为简单的ORM开发框架。其与Spring结合后,可以利用Spring的特征实现DAO接口的自动配置。在SpringBoot中,又对MyBatis框架的整合进行了进一步简化。
  修改pom.xml配置文件,在项目中引入mybatis-spring-boot- starter依赖支持库,切记也需要数据库链接池的支持的哦。   1 <?xml version="1.0" encoding="UTF-8"?>  2   6   7     4.0.0  8       9          10         org.springframework.boot 11         spring-boot-starter-parent 12         2.3.4.RELEASE 13           14      15  16     com.bie 17     springboot-01 18     0.0.1-SNAPSHOT 19     springboot-01 20     Demo project for Spring Boot 21  22      23         1.8 24         3.1.1 25      26  27      28          29             org.springframework.boot 30             spring-boot-starter-web 31          32  33          34             org.springframework.boot 35             spring-boot-starter-test 36             test 37              38                  39                     org.junit.vintage 40                     junit-vintage-engine 41                  42              43          44          45          46             mysql 47             mysql-connector-java 48              49          50          51             org.springframework.boot 52             spring-boot-configuration-processor 53             true 54          55  56          57          58             com.alibaba 59             druid 60             1.1.9 61          62          63          64             org.mybatis.spring.boot 65             mybatis-spring-boot-starter 66             1.3.1 67          68          69          70             org.mybatis 71             mybatis 72             3.4.6 73          74          75          76             org.mybatis.spring.boot 77             mybatis-spring-boot-starter 78             2.1.1 79          80          81             org.springframework.boot 82             spring-boot-starter-jdbc 83          84      85  86      87          88              89                 org.springframework.boot 90                 spring-boot-maven-plugin 91              92          93      94  95 
  数据表结构,如下所示:
  注意:如果数据表字段两个英文单词之间是下划线连接的,但是你的实体类是驼峰命名法,此时就需要进行配置,数据库字段是你下划线分隔,但是bean中的字段是驼峰命名的,如user_name和userName,导致无法匹配。如果是通过xml文件来配置的话,只需要开启驼峰命名转换,setting name="mapUnderscoreToCamelCase" value="true"/>,在/src/main/resources/mybatis/mybatis.cfg.xml里面配置即可。   1 /*  2  Navicat Premium Data Transfer  3   4  Source Server         : localhost  5  Source Server Type    : MySQL  6  Source Server Version : 50724  7  Source Host           : localhost:3306  8  Source Schema         : biehl  9  10  Target Server Type    : MySQL 11  Target Server Version : 50724 12  File Encoding         : 65001 13  14  Date: 15/11/2020 13:34:52 15 */ 16  17 SET NAMES utf8mb4; 18 SET FOREIGN_KEY_CHECKS = 0; 19  20 -- ---------------------------- 21 -- Table structure for user_info 22 -- ---------------------------- 23 DROP TABLE IF EXISTS `user_info`; 24 CREATE TABLE `user_info`  ( 25   `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT "用户编号", 26   `user_account` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT "用户账号", 27   `user_pw` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT "用户密码", 28   `user_number` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT "用户手机号", 29   `user_name` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT "用户姓名", 30   `user_age` int(11) DEFAULT NULL COMMENT "用户年龄", 31   `user_sex` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT "用户性别", 32   `user_mark` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT "用户标志", 33   `create_time` datetime(0) DEFAULT CURRENT_TIMESTAMP COMMENT "用户创建时间", 34   `is_sync` int(3) DEFAULT 0 COMMENT "用户标识", 35   `is_money` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT "是否缴纳押金", 36   PRIMARY KEY (`user_id`) USING BTREE, 37   INDEX `user_id`(`user_id`) USING BTREE 38 ) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = "用户信息表" ROW_FORMAT = Dynamic; 39  40 SET FOREIGN_KEY_CHECKS = 1;
  创建一个po实体类,方便数据传输,如下所示:   1 package com.bie.po;  2   3 public class UserInfo {  4   5     private Integer userId;// 用户编号  6     private String userAccount;// 用户账号  7     private String userPw;// 用户密码  8     private String userNumber;// 用户学号  9     private String userName;// 用户姓名 10     private Integer userAge;// 用户年龄 11     private String userSex;// 用户性别 12     private String userMark;// 用户标识,可以使用一张表,完成管理员和用户 13  14     private String isMoney; 15  16     public Integer getUserId() { 17         return userId; 18     } 19  20     public void setUserId(Integer userId) { 21         this.userId = userId; 22     } 23  24     public String getUserAccount() { 25         return userAccount; 26     } 27  28     public void setUserAccount(String userAccount) { 29         this.userAccount = userAccount; 30     } 31  32     public String getUserPw() { 33         return userPw; 34     } 35  36     public void setUserPw(String userPw) { 37         this.userPw = userPw; 38     } 39  40     public String getUserNumber() { 41         return userNumber; 42     } 43  44     public void setUserNumber(String userNumber) { 45         this.userNumber = userNumber; 46     } 47  48     public String getUserName() { 49         return userName; 50     } 51  52     public void setUserName(String userName) { 53         this.userName = userName; 54     } 55  56     public Integer getUserAge() { 57         return userAge; 58     } 59  60     public void setUserAge(Integer userAge) { 61         this.userAge = userAge; 62     } 63  64     public String getUserSex() { 65         return userSex; 66     } 67  68     public void setUserSex(String userSex) { 69         this.userSex = userSex; 70     } 71  72     public String getUserMark() { 73         return userMark; 74     } 75  76     public void setUserMark(String userMark) { 77         this.userMark = userMark; 78     } 79  80     public String getIsMoney() { 81         return isMoney; 82     } 83  84     public void setIsMoney(String isMoney) { 85         this.isMoney = isMoney; 86     } 87  88     @Override 89     public String toString() { 90         return "UserInfo [userId=" + userId + ", userAccount=" + userAccount + ", userPw=" + userPw + ", userNumber=" 91                 + userNumber + ", userName=" + userName + ", userAge=" + userAge + ", userSex=" + userSex 92                 + ", userMark=" + userMark + ", isMoney=" + isMoney + "]"; 93     } 94  95 }
  在src/main/resources目录中创建mybatis/mybatis.cfg.xml配置文件。如果要开启驼峰命名转换,在这里开启即可,如下所示:
  如果在application.properties中开启转换的话,使用mybatis.configuration.map-underscore-to-camel-case=true配置即可。   1 <?xml version="1.0" encoding="UTF-8" ?>   2   4   5   6   7       8           9          10      11  12 
  或者搞个配置类,如果数据库表字段Column无法自动映射到相对应的实体类属性上,我们可以在config包下新建一个自动配置类MybatisConfig,开始驼峰命名规则。
  MyBatis配置文件开启驼峰命名映射   1 package com.bie.config;  2    3 import org.apache.ibatis.session.Configuration;  4 import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;  5 import org.springframework.context.annotation.Bean;  6    7   8 @Configuration  9 public class MybatisConfig { 10   11     //注册到容器中 12     @Bean 13     public ConfigurationCustomizer configurationCustomizer(){ 14         return new ConfigurationCustomizer(){ 15             @Override 16             public void customize(Configuration configuration) { 17                 //开启驼峰命名规则,是否启用下划线与驼峰式命名规则的映射 18                 configuration.setMapUnderscoreToCamelCase(true); 19   20             } 21         }; 22     } 23 }
  修改application.yml配置文件,追加MyBatis配置,如下所示:   1 # 配置当前要使用的数据源的操作类型  2 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource  3 # 配置Mysql的驱动程序类  4 spring.datasource.driver-class-name=com.mysql.jdbc.Driver  5 # 数据库连接地址  6 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/biehl?characterEncoding=UTF-8&serverTimezone=UTC  7 # 数据库用户名称  8 spring.datasource.username=root  9 # 数据库密码 10 spring.datasource.password=123456 11 # 进行数据库链接池的配置,数据库最小维持连接数 12 spring.datasource.dbcp2.min-idle=1 13 # 数据库初始化提供的连接数 14 spring.datasource.dbcp2.initial-size=1 15 # 数据库最大维持连接数 16 spring.datasource.dbcp2.max-total=100 17 # 等待连接获取的最大超时时间 18 spring.datasource.dbcp2.max-wait-millis=3000 19  20  21 # 后台打印sql语句 22 # mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl 23 # 指定sql映射文件位置,mapper下的所有.xml文件都是映射文件 24 # mybatis.mapper-locations=classpath:mapper/*Mapper.xml 25 # Mybatis配置文件所在的路径 26 mybatis.config-location=classpath:mybatis/mybatis.cfg.xml 27 # 定义所有操作类的别名所在包 28 mybatis.type-aliases-package=com.bie.po
  搞几个Dao层、Service层、Controller层的接口或者类,如下所示:
  注意:如果不想每次都在mapper接口上添加@Mapper注解,可以在主启动类上通过添加@MapperScan注解来批量扫描指定包下的所有mapper接口。   1 package com.bie.dao;  2   3 import java.util.List;  4   5 import org.apache.ibatis.annotations.Mapper;  6 import org.apache.ibatis.annotations.Select;  7   8 import com.bie.po.UserInfo;  9  10 @Mapper // 需要引入Mybatis的依赖包 11 public interface UserInfoDao { 12  13     /** 14      * 查询全部用户信息 15      *  16      * @return 17      */ 18     @Select(value = " select * from user_info ") 19     public List findAll(); // 查询全部用户信息 20  21 }
  Service层的接口和实现类代码,如下所示:   1 package com.bie.service;  2   3 import java.util.List;  4   5 import com.bie.po.UserInfo;  6   7 public interface UserInfoService {  8       9     public List findAll(); 10 } 1 package com.bie.service.impl;  2   3 import java.util.List;  4   5 import org.springframework.beans.factory.annotation.Autowired;  6 import org.springframework.stereotype.Service;  7   8 import com.bie.dao.UserInfoDao;  9 import com.bie.po.UserInfo; 10 import com.bie.service.UserInfoService; 11  12 @Service 13 public class UserInfoServiceImpl implements UserInfoService { 14  15     @Autowired 16     private UserInfoDao userInfoDao; 17  18     @Override 19     public List findAll() { 20         return this.userInfoDao.findAll(); 21     } 22  23 }
  控制层的代码,如下所示:   1 package com.bie.controller;  2   3 import java.util.List;  4   5 import org.springframework.beans.factory.annotation.Autowired;  6 import org.springframework.stereotype.Controller;  7 import org.springframework.web.bind.annotation.RequestMapping;  8 import org.springframework.web.bind.annotation.ResponseBody;  9  10 import com.bie.po.UserInfo; 11 import com.bie.service.UserInfoService; 12  13 @Controller 14 public class UserInfoController { 15  16     @Autowired 17     private UserInfoService userInfoService; 18  19     @RequestMapping(value = "findAll") 20     @ResponseBody 21     public List findAll() { 22         List findAll = this.userInfoService.findAll(); 23         return findAll; 24     } 25  26 }
  项目启动类,如下所示:   1 package com.bie;  2   3 import org.mybatis.spring.annotation.MapperScan;  4 import org.springframework.boot.SpringApplication;  5 import org.springframework.boot.autoconfigure.SpringBootApplication;  6   7 @SpringBootApplication  8 @MapperScan(value = "com.bie.dao")  9 public class Springboot01Application { 10  11     public static void main(String[] args) { 12         SpringApplication.run(Springboot01Application.class, args); 13     } 14  15 }
  通过Postman测试一下,自己写的接口,看看好使不,如下所示:
  项目结构,如下所示:
  2、JPA是官方推出的Java持久层操作标准(现主要使用Hibernate实现),使用SpringData技术和JpaRepository接口技术,也可以达到简化数据层的目的。要在SpringBoot中使用SpringDataJPA,需要spring-boot-starter-data-jpa依赖库的支持。
  修改pom.xml配置文件,引入相关依赖包,如下所示:   1 <?xml version="1.0" encoding="UTF-8"?>  2   6     4.0.0  7       8         org.springframework.boot  9         spring-boot-starter-parent 10         2.3.5.RELEASE 11           12      13     com.example 14     demo 15     0.0.1-SNAPSHOT 16     demo 17     Demo project for Spring Boot 18  19      20         1.8 21         3.1.1 22      23  24      25          26             org.springframework.boot 27             spring-boot-starter-web 28          29  30          31             org.springframework.boot 32             spring-boot-starter-test 33             test 34              35                  36                     org.junit.vintage 37                     junit-vintage-engine 38                  39              40          41  42          43          44             mysql 45             mysql-connector-java 46          47  48          49          50             com.alibaba 51             druid 52             1.1.10 53          54  55          56             org.springframework.boot 57             spring-boot-starter-data-jpa 58          59          60             org.springframework.boot 61             spring-boot-starter-cache 62          63          64             org.hibernate 65             hibernate-ehcache 66          67      68  69      70          71              72                 org.springframework.boot 73                 spring-boot-maven-plugin 74              75          76          77              78                 src/main/resources 79                  80                     **/*.properties 81                     **/*.yml 82                     **/*.xml 83                     **/*.p12 84                     **/*.html 85                     **/*.jpg 86                     **/*.png 87                  88              89          90      91  92 
  创建UserInfo实体类,如下所示:    1 package com.demo.po;   2    3 import javax.persistence.Cacheable;   4 import javax.persistence.Column;   5 import javax.persistence.Entity;   6 import javax.persistence.GeneratedValue;   7 import javax.persistence.GenerationType;   8 import javax.persistence.Id;   9   10 @Cacheable()  11 @Entity(name = "user_info")  12 public class UserInfo {  13   14     @Id()  15     @Column(name = "user_id")  16     @GeneratedValue(strategy = GenerationType.IDENTITY) // 根据名称引用配置的主键生成器  17     private Integer userId;// 用户编号  18   19     @Column(name = "user_account")  20     private String userAccount;// 用户账号  21   22     @Column(name = "user_pw")  23     private String userPw;// 用户密码  24   25     @Column(name = "user_number")  26     private String userNumber;// 用户学号  27   28     @Column(name = "user_name")  29     private String userName;// 用户姓名  30   31     @Column(name = "user_age")  32     private Integer userAge;// 用户年龄  33   34     @Column(name = "user_sex")  35     private String userSex;// 用户性别  36   37     @Column(name = "user_mark")  38     private String userMark;// 用户标识,可以使用一张表,完成管理员和用户  39   40     @Column(name = "is_money")  41     private String isMoney;  42   43     public Integer getUserId() {  44         return userId;  45     }  46   47     public void setUserId(Integer userId) {  48         this.userId = userId;  49     }  50   51     public String getUserAccount() {  52         return userAccount;  53     }  54   55     public void setUserAccount(String userAccount) {  56         this.userAccount = userAccount;  57     }  58   59     public String getUserPw() {  60         return userPw;  61     }  62   63     public void setUserPw(String userPw) {  64         this.userPw = userPw;  65     }  66   67     public String getUserNumber() {  68         return userNumber;  69     }  70   71     public void setUserNumber(String userNumber) {  72         this.userNumber = userNumber;  73     }  74   75     public String getUserName() {  76         return userName;  77     }  78   79     public void setUserName(String userName) {  80         this.userName = userName;  81     }  82   83     public Integer getUserAge() {  84         return userAge;  85     }  86   87     public void setUserAge(Integer userAge) {  88         this.userAge = userAge;  89     }  90   91     public String getUserSex() {  92         return userSex;  93     }  94   95     public void setUserSex(String userSex) {  96         this.userSex = userSex;  97     }  98   99     public String getUserMark() { 100         return userMark; 101     } 102  103     public void setUserMark(String userMark) { 104         this.userMark = userMark; 105     } 106  107     public String getIsMoney() { 108         return isMoney; 109     } 110  111     public void setIsMoney(String isMoney) { 112         this.isMoney = isMoney; 113     } 114  115     @Override 116     public String toString() { 117         return "UserInfo [userId=" + userId + ", userAccount=" + userAccount + ", userPw=" + userPw + ", userNumber=" 118                 + userNumber + ", userName=" + userName + ", userAge=" + userAge + ", userSex=" + userSex 119                 + ", userMark=" + userMark + ", isMoney=" + isMoney + "]"; 120     } 121  122 }
  创建UserDao,然后继承JpaRepository,此时就可以使用写好的方法了,不用自己再额外写接口和实现,如下所示:   1 package com.demo.dao;  2   3 import org.springframework.data.jpa.repository.JpaRepository;  4   5 import com.demo.po.UserInfo;  6   7 /**  8  *   9  * @author 继承JpaRepository包含全部的基础CURD操作 10  * 11  */ 12 public interface UserDao extends JpaRepository { 13  14 }
  然后定义Service接口和Service接口实现,如下所示:   1 package com.demo.service;  2   3 import java.util.List;  4   5 import com.demo.po.UserInfo;  6   7 public interface UserService {  8   9     public List findAll(); 10 } 1 package com.demo.service.impl;  2   3 import java.util.List;  4   5 import org.springframework.beans.factory.annotation.Autowired;  6 import org.springframework.stereotype.Service;  7   8 import com.demo.dao.UserDao;  9 import com.demo.po.UserInfo; 10 import com.demo.service.UserService; 11  12 @Service 13 public class UserServiceImpl implements UserService { 14  15     @Autowired 16     private UserDao userDao; 17  18     @Override 19     public List findAll() { 20  21         return userDao.findAll(); 22     } 23  24 }
  然后搞一个Controller,作为接口访问的入口,如下所示:   1 package com.demo.controller;  2   3 import java.util.List;  4   5 import org.springframework.beans.factory.annotation.Autowired;  6 import org.springframework.stereotype.Controller;  7 import org.springframework.web.bind.annotation.RequestMapping;  8 import org.springframework.web.bind.annotation.ResponseBody;  9  10 import com.demo.po.UserInfo; 11 import com.demo.service.UserService; 12  13 @Controller 14 public class SpringBootController { 15  16     @Autowired 17     private UserService userService; 18  19     @RequestMapping(value = "/findAll") 20     @ResponseBody 21     public List findAll() { 22         List findAll = userService.findAll(); 23         return findAll; 24     } 25  26 }
  修改程序启动主类,追加Repository扫描配置。如果使用JpaRepository实现了DAO接口的自动实现。需要注意的是,如果想启用Repository配置,则需要在程序启动主类时使用@EnableJpaRepositories注解配置扫描包,而后才可以正常使用。   1 package com.demo;  2   3 import org.springframework.boot.SpringApplication;  4 import org.springframework.boot.autoconfigure.SpringBootApplication;  5 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;  6   7 @SpringBootApplication // 启动Springboot程序,而后自带子包扫描  8 @EnableJpaRepositories(basePackages = "com.demo.dao")  9 public class DemoApplication { 10  11     public static void main(String[] args) { 12         // 启动Springboot程序 13         SpringApplication.run(DemoApplication.class, args); 14     } 15  16 }
  修改application.properties,使用Druid作为数据源连接池,如下所示:   1 # mysql的数据库驱动  2 spring.datasource.driver-class-name=com.mysql.jdbc.Driver  3 # mysql的链接  4 spring.datasource.url=jdbc:mysql://localhost:3306/biehl  5 # mysql的账号  6 spring.datasource.username=root  7 # mysql的密码  8 spring.datasource.password=123456  9  10 # druid连接池的配置 11 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource 12  13 # Spring Data JPA,此配置可以在实体类中使用注解来创建数据表,开启正向工程 14 spring.jpa.hibernate.ddl-auto=update 15 # 在控制台打印sql语句 16 spring.jpa.show-sql=true
  使用postman进行接口调用,如下所示:
  最主要的是给自己增加知识的储备,有备无患。最后给大家分享Spring系列的学习笔记和面试题,包含spring面试题、spring cloud面试题、spring boot面试题、spring教程笔记、spring boot教程笔记、最新阿里巴巴开发手册(63页PDF总结)、2022年Java面试手册。一共整理了1184页PDF文档。私信博主(666)领取,祝大家更上一层楼!!!

毕业舞会开幕!多人约会模拟器魔物学园即将登陆NS备受好评的多人约会模拟器魔物学园(MonsterProm)官方中文版将于2021年12月23日登陆NintendoSwitch,港服eShop页面现已正式开放!NintendoSw网信办处罚新浪微博,华为P50Pocket官宣,荣耀X30外观公布国家网信办依法约谈处罚新浪微博据网信中国微信公众号,近日,国家互联网信息办公室负责人约谈新浪微博主要负责人总编辑,针对近期新浪微博及其账号屡次出现法律法规禁止发布或者传输的信息,情作为王者峡谷最混的辅助英雄你对她有什么看法?今天给大家介绍一下辅助瑶,这个英雄价值13888金币,目前有两款皮肤。这款皮肤的设计效果还是非常好看的,深得很多女生喜欢!先来简单的介绍下一下她的技能。被动瑶被鹿灵守护着,当被晕眩平顶山郏县冢头镇,地名让人害怕,却一直没改名前面的文章说到了安徽安庆的破凉镇,因为感觉地名又破又凉,欲改成其他地名。其实地名比破凉镇还要离奇的镇还有很多,比如今天要说的这个镇河南省平顶山市郏县的冢头镇。冢字读zhong,有坟在太空给我国城市群测体温在全球气候变暖的背景下,城市热岛问题成为不可忽略的城市病之一。中国科学院空天信息创新研究院遥感卫星应用国家工程实验室孟庆岩研究员团队近日在热红外遥感研究方面取得进展。热红外遥感是利藏在厨房里的这种调料,竟是养生高手!散寒行气化湿,小小一颗功效多厨房里的调料,除了葱姜蒜花椒大料,还有什么?其实有一种十分常见的调料,它的功效都被我们低估了,那就是豆蔻。豆蔻有4种不同的类型,其烹调方法和功效也各有不同,分为肉豆蔻草豆蔻白豆蔻和高血脂越来越年轻化,是长期吃肉引起的?劝告这3物要少吃随着经济发展和物质水平的提高,曾经我们吃不起的东西,现在可以随便买来吃。随之而来的就是肥胖,现在很多小学生体重就可以超标,年龄大的特别是中年开始,很多人开始肥胖,高脂血症基本上3个郑晓龙新作三棵树将开拍,看清主创阵容稳了娱乐圈中,我们总是习惯关注那些站在高处的明星们,却很少看到那些处在幕后的英雄们,不过一个影视剧的呈现,一个演员的成绩,都离不开台前幕后那些默默付出的工作人员。与那些动辄就能成为顶流豪门中的豪门,UZI领衔BLG新阵容,冠军指日可待有UZI的战队基本就可以算作豪门,毕竟以UZI一人之力的声望就比一个战队所有选手之和还要高很多,但这支新BLG是豪门中的豪门。首先是陈晨,IDBreathe,担任上单位置,该选手打我问哪种洗衣机好用,售货员年轻人喜欢滚筒,中老年人喜欢波轮在我心里,一直觉得滚筒洗衣机更好用。甚至在十几年前,我就觉得波轮洗衣机该退出市场了。但这么多年过去了,波轮洗衣机非但没有消失,反而依然能够和滚筒洗衣机平分秋色。为此我专门咨询了一个运筹帷幄之中,决胜千里之外!毛主席领导力思维艺术研究世界水平领导力研究中心分享一党的领袖,一军的统帅,他的成败,绝不在于做成功某项事业,打赢某一战役,而在于在历史的关键时刻,作出切合历史与战争规律的决策,把革命逐步引向胜利。毛泽东就
小麦价格正在垂死挣扎,2023年3月24日小麦行情小麦市场的这次极跌,引发了玉米大豆的连续下跌,旁观人看到小麦价格涨到1。6元斤以上的时候不卖粮,主因就是贪婪,其实就是大家看涨的心理在作祟,导致大大小小的贸易商受伤的果。看涨的时候金价飙涨,有黄金ETF被狂买近9个亿,平安上海金ETF却清盘了记者杜萌日前,受海外硅谷银行危机事件影响,市场避险情绪升温,金价随之攀升。Wind数据显示,3月20日AU9999盘中最高报收466。72元。若将时间拉长至3月份来看,AU9999大话西游2充值活动又来了,上不上?头条创作挑战赛兄弟们,3月的好运充值活动又来了。今天我们讨论一下我们白嫖党到底充不充呢?先说我个人,反正我充了。因为送的转种族优惠券确实很诱人啊。还有积分,还能抽奖。虽然没什么好东婴儿整天躺着啥都不干,不会无聊吗?婴儿整天躺着不会无聊吗?你以为婴儿躺着啥事也没干,但其实婴儿大脑一直处于超载状态。你眼里再普通的信息,都正激发大脑内发生着天翻地覆的变化。刚出生的时候,你的大脑还是出厂配置,任何信这是歧视吗?泡菜太恶心了,以后不要当午餐带到学校来这究竟是合理要求还是种族歧视?据英国媒体每日邮报当地时间21日报道,最近美国某在线社区中出现了标题为是我做错了吗的帖文。发贴人是一名有着5岁儿子的韩裔妈妈,她称在自己给孩子带了韩国生完娃后,你还敢干柴烈火吗?你上次滚床单是什么时候?别误会这可没有八卦的意思聊天群中有不少宝妈抱怨生完娃之后好像一直没恢复好一点干柴烈火的感觉都没有每次都干涩涩的私密抗衰维养了解一下私密抗衰维养可以有效改善阴儿童感染甲流后有哪些症状?如何预防重症?云南专家这样说近期,甲流进入传播高峰期,抵抗力较弱的儿童频频中招。儿童感染后有哪些表现?发烧后如何进行护理?如何预防发展为重症?针对广大家长关心的问题,记者采访了昆明市儿童医院感染二科副主任王艳娃刚上幼儿园,宝妈就被逼着找工作,说好的都是自家人呢养娃的负担,跟过去相比没有可比性。只看家庭内部,确实现在比以前的经济条件好多了。可是横向对比也能发现,人与人之间的差距越来越大。对于没多少家底的普通家庭,结婚和养娃几乎是掏空全部。孕期腿肿,竟是致命血栓!预防血栓准妈妈请牢记很多孕妈怀孕后都会发现腿变粗了,下肢肿胀是孕期常见的现象,但有一种孕期的腿肿,却可能是血栓下肢深静脉血栓形成(DVT),若不及时处理,很可能危及生命。由于孕期的特殊时期,要清除下肢建筑可阅读公寓里弄名人故居这条全长820米的小路步步皆风景五原路位于衡复风貌区核心带,是上海少有的不通公交的马路。这条不足一公里10分钟就能走完的小路上,混杂着许多老式花园建筑新式里弄和高层住宅,也是多个电影场景的取景地。除了风格迥异的各第三届郏县大宋上瑞里桃花节开幕平报融媒记者孙书贤在三苏园门前观看精彩文艺演出,千亩桃花园里赏灼灼桃花美景,坐于桃花园旁品郏县特产美食,逛三苏园美丽胜景,拜谒宋代大文豪苏东坡。3月25日上午,由河南省文化和旅游厅