首页 > 其他分享 >学习流程-2025-01

学习流程-2025-01

时间:2025-01-05 21:55:58浏览次数:1  
标签:01 spring 流程 2025 dataSource mysql mybatis com public

学习流程2025-01-04

1.springboot整合mybatis:

1.1idea创建spring项目,勾选web、jdbc、mysql

1.2集成mybatis:引入mybatis-spring-boot-starter

1.3配置文件里配置数据源:application.properties里:

# 配置数据源
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8
# 目前较新版的mysql,使用带cj的com.mysql.cj.jdbc.Driver
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

1.4test类里进行验证mybatis集成是否成功:

@SpringBootTest
class Springboot05MybatisApplicationTests {

    @Autowired
    private DataSource dataSource;

    @Test
    void contextLoads() {
        // 验证mybatis集成是否成功,若直接启动该测试方法会报错:
        // Failed to configure a DataSource: 'url' attribute is not specified
        // and no embedded datasource could be configured.
        // 需要先配置数据源(在application.properties里)
        // 验证结果:如下输出:dataSource.getClass(): class com.zaxxer.hikari.HikariDataSource
        System.out.println("dataSource.getClass(): " + dataSource.getClass());
        try {
            // 验证结果:如下输出:dataSource.getConnection():
            // HikariProxyConnection@1871778598 wrapping
            // com.mysql.cj.jdbc.ConnectionImpl@f1d0004
            System.out.println("dataSource.getConnection(): " + dataSource.getConnection());
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

1.5实体类:

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private int id;
    private String name;
    private String pwd;
}

1.6Mapper接口:

// @Mapper表明是mybatis的一个Mapper接口
// 加上@Repository后可以被spring识别,
// 对普通java类用@Component,对dao层用@Repository更合适
@Mapper
@Repository
public interface UserMapper {
    public List<User> getAllUsers();

    public User getUserById(int id);
}

1.7mapper的xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 配置namespace -->
<mapper namespace="com.example.mapper.UserMapper">
    <select id="getAllUsers" resultType="User">
        select * from mybatis.user
    </select>
    
    <select id="getUserById" resultType="User">
        select * from mybatis.user where id = #{id}
    </select>
</mapper>

1.8配置文件里配置typealiases别名和mybatis xml文件位置:application.properties里:

# 配置
# 一开始我写的是错的:配置的mapper:mybatis.type-aliases-package=com.example.mapper
# 这里应该配置的是实体类:com.example.pojo
mybatis.type-aliases-package=com.example.pojo
# 配置mapper文件位置:
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

1.9用于验证的controller:

@RestController
public class UserController {
    @Autowired
    private UserMapper userMapper;

    @RequestMapping("/getAllUsers")
    public List<User> getAllUsers() {
        List<User> users = userMapper.getAllUsers();
        for (User user : users) {
            System.out.println(user.toString());
        }
        return users;
    }

    @RequestMapping("/getUserById")
    public User getUserById() {
        return userMapper.getUserById(1);
    }
}

 

标签:01,spring,流程,2025,dataSource,mysql,mybatis,com,public
From: https://www.cnblogs.com/pingfanliliang/p/18654019

相关文章

  • P2572 [SCOI2010] 序列操作 —— 线段树
    题意原题给定一个0/1序列,初始全为零要求分别实现:-区间赋值-区间取反-询问区间1的个数-询问区间为1的最大子段和分析形式化地定义变量,我们记下区间的0/1个数,0/1最大字段和,赋值与取反标记。赋值的标记优先级大于取反标记,取反直接把区间赋值标记,区间0/1个数和最大子段和交换......
  • 2024-2025-1 20241327 《计算机基础与程序设计》第十五周总结
    作业信息|2024-2025-1-计算机基础与程序设计)||--|-|2024-2025-1计算机基础与程序设计第十五周作业)||快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题|作业正文|https://www.cnblogs.com/shr060414/p/18440575|......
  • # 学期(如2024-2025-1) 学号(如:20241402) 《计算机基础与程序设计》第15周学习总结
    学期(如2024-2025-1)学号(如:20241402)《计算机基础与程序设计》第15周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上......
  • 2024-2025 20241425 第15周学习总结
    第一周作业1.学习了有关专业的技能培养方向2.对《计算机基础与程序设计》进行了大致的浏览,大概了解了计算机的相关理论知识3.学习了有关2进制、8进制、10进制、16进制之间的转换第二周作业1.《计算机科学概论》:第一章向我们介绍了计算机科学这门学科的内容以及其基本概念,计......
  • 流体静力学01
    列出x方向的力平衡方程:最后一项是重力吧?但是重力不是只有z方向吗?为什么这里会有fx?可能是质量力,而非是重力。质量力包括重力。但是,还有惯性力等。同理,可以列出y方向和z方向的力平衡方程。 ......
  • 2024-2025-1 20241408陈烨南《计算机基础与程序设计》第十四周学习总结
    这个作业属于哪个课程2024-2025-1-计算机基础与程序设计)这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14这个作业的目标无作业正文本博客链接教材学习内容总结无教材学习中的问题和解决过程Q:如何倒序输出字符串?A:基于AI的学......
  • 2025年,为自己充电的最好方式
    商业咨询顾问刘润谈及一件事。过去的一年里,他跟许多创业者在聊天时,他们都会说同一句话:太累了。这些人像是电池没电了一样,陷入了一种心力缺失的状态。因此,刘润特地拜访了上海交通大学研究生命科学的仇子龙教授,请教了一个问题:如何给自己充电?仇子龙教授说了四个自我充电的......
  • 2024-2025-1 20241310 《计算机基础与程序设计》课程总结
    每周作业汇总1.第一周作业1.基于VirtualBox虚拟机安装Ubuntu图文教程安装Linux系统2.快速浏览一遍教材《计算机科学概论》(第七版)3.学习并掌握进制转换操作4.学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法,并初步学习一些Linux指令作业链接2.第二周作业计算系统......
  • [20250106]关于日期输出格式问题2.txt
    [20250106]关于日期输出格式问题2.txt--//前几天测试写的例子如下$(echosetfeedoffheadoff;echo-e{D,d}{A,a}{Y,y}"\n"|xargs-IQecho"select'Q'str,to_char(sysdate,'Q')to_cfromdual;")|sqlplus-s-l/assysdba|sed'/......
  • 2025年flask大型零售电商平台——购物车管理子系统 程序+论文 可用于计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着互联网技术的飞速发展,大型零售电商平台已成为现代消费的重要组成部分。购物车管理子系统作为电商平台的核心功能之一,对于提升用户体验......