首页 > 数据库 >springboot+mybtais+mysql

springboot+mybtais+mysql

时间:2024-01-22 22:07:29浏览次数:26  
标签:springboot spring boot id user mybtais mysql org public

一、通过maven引入相应的包 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>doris</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>doris</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter-test</artifactId>
            <version>3.0.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

二、项目结构

springboot+mybtais+mysql_List

三、配置 (application.properties)

spring.datasource.url=jdbc:mysql://yourip:9030/dxh_test
spring.datasource.username=admin
spring.datasource.password=wsf@123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

mybatis.type-aliases-package=com.example.doris.model
mybatis.mapper-locations=classpath:mybatis/*.xml
mybatis.configuration.map-underscore-to-camel-case=true

server.port=8081

四、实体(数据表对应的实体类:model/UserInfo.java)

@Data
public class UserInfo {

    private BigInteger id;
    private BigInteger userId;
    private String userName;
}

五、mapper类(UserInfoMapper.java)

@Mapper
public interface UserInfoMapper {

    @org.apache.ibatis.annotations.Select("select `id`,`user_id` AS userId,`user_name` AS userName from user_info_v6")
    public List<com.example.doris.model.UserInfo> selectAll();

    List<UserInfo> getUserInfoList();
}

六、项目入口(DorisApplication.java)添加MapperScan(mapper类对应的包)

@SpringBootApplication
@MapperScan("com.example.doris.dao")
public class DorisApplication {

    public static void main(String[] args) {
        SpringApplication.run(DorisApplication.class, args);
    }

}

七、mybatis对应的表的XML配置(UserInfoMapper.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">
<mapper namespace="com.example.doris.dao.UserInfoMapper">
    <select id="getUserInfoList" resultType="UserInfo">
        select * from user_info_v6
    </select>
</mapper>

八、服务层(service)

8.1 服务接口层(interface => UserInfoService)
public interface UserInfoService {

    List<UserInfo> getAllUserInfo() throws Exception;

    List<DorisTestModel> getAllDorisTestModel() throws Exception;

}
8.2 服务实现层(impl=> UserInfoImplService)
@Service
public class UserInfoImplService implements UserInfoService {
    @Autowired
    UserInfoMapper userInfoMapper;

    @Autowired
    DorisTestMapper dorisTestMapper;

    @Override
    public List<UserInfo> getAllUserInfo() throws Exception{
        //List<UserInfo> userInfoList = userInfoMapper.selectAll();
        List<UserInfo> userInfoList = userInfoMapper.getUserInfoList();
        System.out.println(userInfoList);
        return userInfoList;
    }

    @Override
    public List<DorisTestModel> getAllDorisTestModel() throws Exception {
        return dorisTestMapper.selectAll();
    }
}

九、控制层

@RestController
@RequestMapping("/userinfo")
public class UserInfoController {
    @Autowired
    UserInfoService userInfoService;

    @RequestMapping("/list")
    public List<UserInfo> getUserInfoList() {
        try {
            return userInfoService.getAllUserInfo();

        } catch (Exception ex) {
            System.out.println(ex.getMessage());
            return null;
        }
    }
}

十、数据库的创表:(本实例是使用的doris,doris支持mysql的协议)

### 创建表SQL
CREATE TABLE `user_info_v6` (
`id` int NULL COMMENT "id",
`user_id` int NULL COMMENT "user_id",
`user_name` varchar(40) NULL COMMENT "名称"
) ENGINE=OLAP
UNIQUE KEY(`id`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`id`) BUCKETS 1
PROPERTIES (
"replication_num" = "1",
 "in_memory" = "false",
"storage_format" = "V2"
);

###  插入数据SQL
insert into user_info_v6(`id`,`user_id`,`user_name`)
values (1,333,'doris-name-333'),
(2,444,'doris-name-444');


### 查询数据SQL
select  * from user_info_v6;

十一:结果

**

springboot+mybtais+mysql_xml_02

**

标签:springboot,spring,boot,id,user,mybtais,mysql,org,public
From: https://blog.51cto.com/u_6404598/9369627

相关文章

  • Springboot学习第二天
    今天的学习内容是如何在项目中设计统一响应接口返回值,达到统一的格式1.响应实体我们首先要定义一个公共的接口响应实体,以后所有的接口返回值,都是返回的这个公共响应实体。这样做的好处是可以统一返回值的风格,编译接口的维护。需要包含3个关键的成员变量:状态码返回信息数......
  • 在 SpringBoot 项目中使用 Mybatis 打印 SQL 日志
    前言我们在项目中使用的持久层框架大部分都是mybatis,如果在日志中能打印sql的话,对于我们排查问题会更加方便。第一种方式:修改mybatis配置修改配置mybatis:configuration:log-impl:org.apache.ibatis.logging.slf4j.Slf4jImpllogging:level:com.imooc.p......
  • MySQL索引条件下推优化案例
    索引条件下推优化意思是:存储引擎使用索引从表中获取数据,而不是存储引擎会遍历索引来查找表中的行,并将其返回给MySQL服务器,由服务器进行WHERE查找。官方原文如下:定义:IndexConditionPushdown(ICP)isanoptimizationforthecasewhereMySQLretrievesrowsfromatable......
  • springboot+vue--注册
    ***在UserController中声明一个(/register),接口中包括两个功能://用户名是否已被占用//注册**​publicResultregister(Stringusername,Stringpassword){}***在UserService(接口)中,实现两个方法:**​publicUserfindByUsername(Stringusername){}//根据用户......
  • 数据库学习笔记(四)—— MySQL 之 事务篇
    MySQL之事务篇事务事务是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。事务的四大特性(ACID):A原子性:原子性是指包含事务的操作要么全部执行......
  • 数据库学习笔记(三)—— MySQL 之 SELECT(查询)篇
    查询单表查询select分组函数,分组后的字段from表名[where条件][groupby分组的字段][having分组后的筛选][orderby排序列表];排序SELECT字段名FROM表名ORDERBY字段名[ASC|DESC];ASC表示升序,DESC表示降序,而ORDERBY默认值为ASC。多字段排......
  • Java21 + SpringBoot3集成easy-captcha实现验证码显示和登录校验
    目录前言相关技术简介easy-captcha实现步骤引入maven依赖定义实体类定义登录服务类定义登录控制器前端登录页面实现测试和验证总结附录使用Session缓存验证码前端登录页面实现代码前言近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系......
  • springboot 读取配置7种方式
    1.概述通过了解springboot加载配置,可以更方便地封装自定义Starter。在SpringBoot中,可以使用以下6种方式读取yml、properties配置:使用@Value注解:读取springboot全局配置文件单个配置。使用Environment接口:通过Environment接口动态获取配置。(将yml全部数据封装到Environ......
  • Idea 创建SpringBoot小计
    创建spring工程之后maven依赖包拉不下来去官网下载maven并配置maven环境变量  下载地址:http://maven.apache.org/download.cgi解压后,修改mavensetting配置文件,增加国内镜像地址添加阿里云国内镜像  idea配置本地maven配置如下图  之后应该就......
  • 记录一次 SpringBoot 自动装配失败
    项目业务模块引入公共模块,公共模块的bean死活自动装配失败,如下图:想要自动装配bean的类型是PasswordEncoder,但是就是装配不上去仔细检查后发现本应该是2层目录的META-INF/spring成了1层名叫META-INFO.spring的目录原来resource层级下新建目录在后面加.下一层目录不像在ja......