MyBatis简介与配置MyBatis+Spring+MySql的方法

MyBatis简介

MyBatis是一个优秀的基于Java的持久层框架,它内部封装了JDBC,通过XML或注解将Java对象和SQL语句进行映射,使得开发者可以通过简单的配置和少量代码来进行复杂的数据库操作。

配置MyBatis+Spring+MySQL

步骤一:创建Maven项目

首先,创建一个基于Maven的Java项目,命名为mybatis-demo。

在pom.xml文件中添加MyBatis和MySQL依赖:

<dependencies>
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.6</version>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.25</version>
  </dependency>
</dependencies>

步骤二:配置MySQL连接信息

在src/main/resources目录下新建application.properties文件,配置MySQL连接信息,如下所示:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo?serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root

步骤三:创建实体类

创建实体类User,包含id、name和age属性。

public class User {
  private Integer id;
  private String name;
  private Integer age;
  // getter and setter
}

步骤四:创建Mapper接口

创建UserMapper接口用于定义数据访问的方法。

public interface UserMapper {
  User getUserById(Integer id);
  List<User> getUsers();
  void insertUser(User user);
  void updateUser(User user);
  void deleteUser(Integer id);
}

步骤五:编写Mapper.xml文件

在resources目录下创建mapper目录,创建UserMapper.xml文件,定义数据访问的SQL语句。

<mapper namespace="com.example.mybatisdemo.mapper.UserMapper">
  <select id="getUserById" resultType="com.example.mybatisdemo.entity.User">
    select * from user where id = #{id}
  </select>
  <select id="getUsers" resultType="com.example.mybatisdemo.entity.User">
    select * from user
  </select>
  <insert id="insertUser">
    insert into user(name, age) values(#{name}, #{age})
  </insert>
  <update id="updateUser">
    update user set name = #{name}, age = #{age} where id = #{id}
  </update>
  <delete id="deleteUser">
    delete from user where id = #{id}
  </delete>
</mapper>

步骤六:配置MyBatis

在resources目录下创建mybatis-config.xml文件,配置MyBatis的相关信息。

<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC" />
      <dataSource type="POOLED">
        <property name="driver" value="${spring.datasource.driver-class-name}" />
        <property name="url" value="${spring.datasource.url}" />
        <property name="username" value="${spring.datasource.username}" />
        <property name="password" value="${spring.datasource.password}" />
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="mapper/UserMapper.xml" />
  </mappers>
</configuration>

步骤七:配置Spring

在application.properties文件中使用mybatis.config-location属性指定MyBatis配置文件的位置。

mybatis.config-location=classpath:mybatis-config.xml

在启动类添加@MapperScan注解扫描Mapper接口所在的包。

@SpringBootApplication
@MapperScan("com.example.mybatisdemo.mapper")
public class MybatisDemoApplication {
  public static void main(String[] args) {
    SpringApplication.run(MybatisDemoApplication.class, args);
  }
}

步骤八:创建Controller并测试

在Controller中注入UserMapper并调用相应方法,测试数据访问是否正常。

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

  @GetMapping("/user/{id}")
  public User getUserById(@PathVariable Integer id) {
    return userMapper.getUserById(id);
  }

  @GetMapping("/user")
  public List<User> getUsers() {
    return userMapper.getUsers();
  }

  @PostMapping("/user")
  public void insertUser(@RequestBody User user) {
    userMapper.insertUser(user);
  }

  @PutMapping("/user")
  public void updateUser(@RequestBody User user) {
    userMapper.updateUser(user);
  }

  @DeleteMapping("/user/{id}")
  public void deleteUser(@PathVariable Integer id) {
    userMapper.deleteUser(id);
  }
}

现在,我们可以通过访问http://localhost:8080/user获取所有用户信息,通过访问http://localhost:8080/user/1获取id为1的用户信息,通过其他HTTP方法修改和删除用户信息。

示例一:插入用户信息

User user = new User();
user.setName("Jack");
user.setAge(20);
userMapper.insertUser(user);

示例二:更新用户信息

User user = userMapper.getUserById(1);
user.setName("Tom");
user.setAge(25);
userMapper.updateUser(user);

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatis简介与配置MyBatis+Spring+MySql的方法 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • java dom4j解析xml用到的几个方法

    以下是关于java dom4j解析xml用到的几个方法的完整攻略。 引言 在Java中,dom4j是一种解析XML的非常常用的框架。通过dom4j,我们可以轻松地读取和操作XML文件。在本文中,我们将介绍几个在Java中使用dom4j解析XML时可能会用到的方法。 导入dom4j 在使用dom4j之前,需要先将dom4j添加到项目中。在Maven中,可以像下…

    Java 2023年5月20日
    00
  • GTA5 PC版全错误代码及解决方法

    GTA5 PC版全错误代码及解决方法 如果您在玩GTA5 PC版时遇到任何错误代码,不要惊慌,本文将为您提供详细的解决方案。 错误代码:ERR_NO_LAUNCHER 这个错误代码表示您的GTA5游戏启动器没有被正确安装或丢失了。解决方法如下: 确保您已经安装了最新版本的游戏启动器,可以从官方网站下载安装。 检查您的游戏目录是否存在“GTAVLauncher…

    Java 2023年6月15日
    00
  • 使用jackson实现对象json之间的相互转换(spring boot)

    下面是使用Jackson库实现对象和JSON格式的相互转换的完整攻略。 前置条件 本文需要你已经掌握Spring Boot框架的基础知识,并且对于Java对象与JSON的基础知识有所了解。 介绍 Jackson是一个Java库,用于将Java对象序列化为JSON格式的字符串,并将JSON格式的字符串反序列化为Java对象。Jackson支持在Java对象和J…

    Java 2023年5月26日
    00
  • java二维数组基础知识详解

    Java二维数组基础知识详解 什么是Java二维数组? Java二维数组是一种特殊的数组类型,它是由多个一维数组组成的,通常用于表示矩阵和表格等情景。Java二维数组的每个元素都是一个数组,这个数组里面又包含了多个元素。 Java二维数组的定义与初始化 Java二维数组的定义格式为 数据类型[][] 数组名 = new 数据类型[行数][列数]。其中,行数和…

    Java 2023年5月26日
    00
  • 在dos窗口中编译和运行java文件的方法

    在 DOS 窗口编译和运行 Java 文件的方法可以包含以下步骤: 检查 Java 路径:在 DOS 窗口中,输入命令 java -version,检查 Java 是否已经正确安装,以及 Java 的路径是否已经添加到系统环境变量中。 编写 Java 代码:使用文本编辑器,编写 Java 代码,并将其保存为后缀为 .java 的文件,例如 Hello.jav…

    Java 2023年5月23日
    00
  • Java技能点之SimpleDateFormat进行日期格式化问题

    下面是Java技能点之SimpleDateFormat进行日期格式化问题的完整攻略。 简介 SimpleDateFormat是Java SE自带的日期时间格式化工具,可以用来将日期时间类型的数据按照指定格式输出。SimpleDateFormat支持多种格式化输出,如输出年月日、输出时分秒、输出星期几等。 使用方法 1. 创建SimpleDateFormat对…

    Java 2023年5月20日
    00
  • Java事务管理学习之Spring和Hibernate详解

    Java事务管理学习之Spring和Hibernate详解 什么是事务 事务是一组要么全部执行,要么全部不执行的操作。事务具有ACID(原子性、一致性、隔离性、持久性)特性。 在数据库中,事务可以保证数据的完整性和一致性。 Spring事务管理 Spring框架提供了对事务管理的支持。Spring事务管理是通过AOP实现的,在方法被调用时将事务逻辑织入到方法…

    Java 2023年5月20日
    00
  • MyBatis框架简介及入门案例详解

    MyBatis框架简介及入门案例详解 MyBatis框架简介 MyBatis是一个持久层框架,它支持定制化SQL、存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码和参数的手工输入以及对结果集的检索封装。MyBatis可以采用注解或xml方式配置映射关系,支持动态SQL,极其灵活方便。 MyBatis入门案例 准备工作 1.创建一个Java We…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部