MybatisPlus-从入门到入土2

本文介绍了如何使用SpringBoot初始化项目,添加MyBatisPlus和Druid数据源依赖,配置application.yml,创建实体类、DAO接口和测试类进行数据操作。同时讲解了分页查询的实现以及实体类字段与表名映射的注解方式,还提到了Id的生成策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

中国东北人开发的 所以叫mp.baomidou.com 苞米豆

问题

注意:
//  1.application.yml 怎么写
//  2.实体类 不要在写4类8中了 用包装类  int->integer long->LONG    serializable接口 序列化 
正常来说 都应该实现 序列化接口 
//  3.dao接口 继承 BaseMapper<User> 泛型写实体类
//  测试 在下面的test测试类中  添加@Autowired 测试是否成功运行
 // 增加数据 创建对象  添加 

//  .分页查询  1.创建拦截器  在测试类 创建方法  在new Page<x,x> 调用方法 sout调获取的对象

1.基础环境创建

1.模块创建
ider--->file-->new-->project-->Spring lnitializr--> 
不选择default 默认
-->选择custom定制网址  http://start.springboot.io/
2.配置相关信息
group  群组 --->com.itheima

artifact 名称路径-->mybatis_plus

type 类型选择-->Maven Project

java Version java版本-->8

Package 包-->com.itheima
3.选择技术集
Sql->Mysql driver
  1. 手动添加MyBatisPlus和druid数据源起步依赖

idea欧美的产品 很多中国制造的都没有 只能手动添加

<!--MyBatisPlus-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
</dependency>
<!--druid数据源-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.16</version>
</dependency>
5.添加domain实体类
@Data //注解 简化set get 方法
public class User {
    private Long id;
    private String name;
    private String password;
    private Integer age;
    private String tel;
}
6.设置application.yml的参数
#增加type的时候 记的先在pom导入druid的依赖
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatisplus_db?serverTimezone=UTC
    username: root
    password: 320321
    type: com.alibaba.druid.pool.DruidDataSource

  #开启日志  快捷键mylog  
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

2.创建dao和测试类

1.创建dao

mybatisPlus和普通的mybatis区别于 简化的sql的写入 因为继承了baseMapper<实体类> 记得加泛型

@Mapper  //mybatis特有 
public interface UserDao extends BaseMapper<User>{

}
2.创建测试类
@SpringBootTest
class SpringmybatisplusApplicationTests {
@Autowired
private UserDao userDao;
 
//查询所有
@Test
    public void testSelectAll(){
    List<User> userList = userDao.selectList(null);
    System.out.println(userList);
}
 
//增加数据
    @Test
    public void testSave(){
        User user = new User();
        user.setName("哎呦这是小李哦");
       user.setAge(25);
        user.setPassword("320321");
        user.setTel("1008611");
        userDao.insert(user);
 
    }
//修改数据
    @Test
    public void testUpdate(){
        User user = new User();
        user.setId(1L);
        user.setAge(88);
        user.setName("狂铁");
        userDao.updateById(user);
 
 
    }
//根据id查询
    @Test
    public void GetById(){
        User user = userDao.selectById(1L);
        System.out.println(user);
    }
//删除数据
    @Test
    public void DeleteById(){
    userDao.deleteById(123456L);


    }
   

创建分页查询

  1. 先创建拦截器--

@Configuration
public class MybatisPlusConfig {
    //和springmvc拦截器区别
   //spring mvc 是拦截路径 
   //mybatis plus 是自己内部
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        //1 创建MybatisPlusInterceptor拦截器对象
        MybatisPlusInterceptor mpInterceptor=new MybatisPlusInterceptor();
        //2 添加分页拦截器
        mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mpInterceptor;
    }
}
2.分页查询
//分页查询
@Test
void testSelectPage(){
    //1 创建IPage分页对象,设置分页参数
    IPage<User> page=new Page<>(1,3);//第一页  3条数据
    //2 执行分页查询
    userDao.selectPage(page,null);
    //3 获取分页结果
    System.out.println("当前页码值:"+page.getCurrent());
    System.out.println("每页显示数:"+page.getSize());
    System.out.println("一共多少总页数:"+page.getPages());
    System.out.println("一共多少总条数:"+page.getTotal());
    System.out.println("当前页数据:"+page.getRecords());
}

附加知识

实体类字段映射和表名映射不一致

@Data
@TableName("tbl_user")  //设置当前类对应的数据库表名称
public class User {
    /*
        id为Long类型,因为数据库中id为bigint类型,
        并且mybatis有自己的一套id生成方案,生成出来的id必须是Long类型
     */
    private Long id;
    private String name;
    @TableField(value = "pwd",select = false) //关闭查看权限 查出值为null
    private String password;
    private Integer age;
    private String tel;
    @TableField(exist = false) //表示online字段不参与CRUD操作
    private Boolean online;
}

id生成策略

注解:@TableId  // 属性注解 定义javabean的主键属性上方(id)
@TableId(type=IdType.xxx)

2.主键生成的策略有5种方式?

1.//@TableId(type=IdType.Auto):使用数据库id自增策略控制id生成
2.//@TableId(type=IdType.NONE):不设置id生成策略
3.//@TableId(type=IdType.INPUT):设置手工输入id
4.// @TableId(type= IdType.ASSIGN_ID):雪花算法生成id,(可兼容数值和字符串)
5.//@TableId(type= IdType.ASSIGN_UUID):以uuid生成算法作为id自增

Simulink是一款强大的仿真工具,用于设计、模拟和分析各种系统的行为。下面是一个从入门入土的Simulink仿真教程。 1. 软件安装:首先需要下载和安装Simulink软件。在MathWorks官方网站上找到适合的版本,并按照指示进行安装。 2. Simulink基础:打开Simulink后,可以看到一个模块化的仿真环境。了解基本的Simulink界面、工具栏和库,这些是使用Simulink进行仿真的基础。 3. 模型建立:使用Simulink可以通过将各种模块组合在一起来建立模型。通过从库中拖拽模块到仿真界面,使用线连接相应的模块,可以构建出一个完整的系统模型。 4. 参数设置:对于每个模块,都可以设置相应的参数。这些参数可根据需要进行调整,以便模型可以更准确地模拟真实系统的行为。 5. 信号输入:创建一个仿真的关键是提供输入信号。可以通过添加信号源模块来生成不同类型的输入信号,如恒定值、正弦波、脉冲等。 6. 仿真运行:配置好模型和输入信号后,可以点击运行按钮开始仿真。仿真结果将在仿真器窗口中显示,此时可以观察系统的行为。 7. 结果分析:Simulink提供了多种工具用于分析仿真结果。可以绘制输出信号的波形图,计算系统的响应时间、频率响应等。 8. 优化改进:根据分析结果,可以调整模型参数以改进系统的性能。这包括调整模块参数、修改模型结构等。 9. 进阶功能:通过进一步学习和实践,还可以掌握更高级的Simulink功能,如使用MATLAB脚本进行仿真、使用状态流图进行建模等。 10. 深入学习:要真正掌握Simulink,需要不断深入学习和实践。可以参考Simulink的官方文档、视频教程和论坛,以及阅读相关书籍。 总之,通过上述步骤,您可以从入门入土地掌握Simulink的基本原理和使用方法,能够进行各种系统模型的建立和仿真。但记住,Simulink只是一个工具,对于真正理解和解决复杂系统问题,还需要深入学习掌握相关的系统理论和建模方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值