当前位置: 首页 > news >正文

mybatis的基本使用与配置

注释很详细,直接上代码

项目结构

在这里插入图片描述

源码

UserMapper

package com.amoorzheyu.mapper;import com.amoorzheyu.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;import java.util.List;@Mapper //在运行时生成代理类,并交给 IOC容器 管理
public interface UserMapper {//查看全部用户信息@Select("select * from user")public List<User> getAllUsers();}

User

package com.amoorzheyu.pojo;public class User {private Integer id;private String name;private Short age;private  String phone;public User() {//无参构造函数}//有参构造函数public User(Integer id, String name, Short age, String phone) {this.id = id;this.name = name;this.age = age;this.phone = phone;}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", age=" + age +", phone='" + phone + '\'' +'}';}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Short getAge() {return age;}public void setAge(Short age) {this.age = age;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}
}

SpringBootStudy2Application

package com.amoorzheyu;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootStudy2Application {public static void main(String[] args) {SpringApplication.run(SpringBootStudy2Application.class, args);}
}

application.properties

#下面这些内容是为了让MyBatis映射
#指定Mybatis的Mapper文件
mybatis.mapper-locations=classpath:mappers/*xml
#指定Mybatis的实体目录
mybatis.type-aliases-package=com.amoorzheyu.mybatis.entity
# 应用服务 WEB 访问端口
server.port=8080# 数据库驱动类名
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver# 数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/spring-boot-study-database?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true# 数据库用户名
spring.datasource.username=root# 数据库密码
spring.datasource.password=1234

SpringBootStudy2ApplicationTests

package com.amoorzheyu;import com.amoorzheyu.mapper.UserMapper;
import com.amoorzheyu.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.List;@SpringBootTest
class SpringBootStudy2ApplicationTests {@Autowired// 注入beanprivate UserMapper userMapper;@Testvoid contextLoads() {List <User> users = userMapper.getAllUsers();users.stream().forEach(user -> System.out.println(user));}
}

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><groupId>com.amoorzheyu</groupId><artifactId>spring-boot-study-2</artifactId><version>0.0.1-SNAPSHOT</version><name>spring-boot-study-2</name><description>spring-boot-study-2</description><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.6.13</spring-boot.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>2.2.2</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.amoorzheyu.SpringBootStudy2Application</mainClass><skip>true</skip></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

数据库内容

/*Navicat MySQL Data TransferSource Server         : localhost_3306Source Server Type    : MySQLSource Server Version : 80100Source Host           : localhost:3306Source Schema         : spring-boot-study-databaseTarget Server Type    : MySQLTarget Server Version : 80100File Encoding         : 65001Date: 16/09/2024 16:38:59
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (`id` int NOT NULL AUTO_INCREMENT COMMENT '用户id',`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`age` tinyint NULL DEFAULT NULL,`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, '小白', 20, '111222333444555');
INSERT INTO `user` VALUES (2, '大黄', 38, '8888888888888');SET FOREIGN_KEY_CHECKS = 1;

效果演示

在这里插入图片描述

http://www.lryc.cn/news/440089.html

相关文章:

  • 2022高教社杯全国大学生数学建模竞赛C题 问题三问题四 Python代码
  • 易于理解和实现的Python代码示例
  • Visual Studio 2019/2022 IntelliCode(AI辅助IntelliSense)功能介绍
  • mac安装swoole过程
  • 代码随想录算法训练营第三十二天 | 509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯
  • Oracle发送邮件功能:配置自动化发信指南?
  • 探索 InternLM 模型能力边界
  • Python 数学建模——Pearson/Spearman 相关系数
  • QUIC的loss detection学习
  • 【QT】使用QOpenGLWidget后,窗口全屏之后右键菜单出不来的问题
  • MySQL 8.0授权语法变更及解决方案‌
  • 2024 VMpro 虚拟机中如何给Ubuntu Linux操作系统配置联网
  • 详解Diffusion扩散模型:理论、架构与实现
  • 坐牢第三十八天(Qt)
  • (十五)、把自己的镜像推送到 DockerHub
  • 【云岚到家-即刻体检】-day07-2-项目介绍及准备
  • SpringCloud Alibaba之Nacos服务注册和配置中心
  • 面试官:讲一讲Spring MVC源码解析
  • 815. 公交路线(24.9.17)
  • Rust: Warp RESTful API 如何得到客户端IP?
  • 添加选择登录ssh终端
  • 【基于 Delphi 的人才管理系统】
  • GetMaterialApp组件的用法
  • ubuntu安装mysql 8.0忘记root初始密码,如何重新修改密码
  • Vue3项目开发——新闻发布管理系统(七)
  • ICMP
  • Unity-Transform类-旋转
  • 如何使用 Vue 3 的 Composition API
  • Mamba环境配置教程【自用】
  • 2021 年 6 月青少年软编等考 C 语言二级真题解析