Spring Boot 通过mybatis接入MySql数据库

Spring Boot通过Mybatis接入MySQL数据库

介绍

在Web应用程序中,数据库是一个重要的组成部分。而Spring Boot和Mybatis是Java开发中常用的框架和工具,它们可以帮助我们快速、高效地访问和操作数据库。

前提条件

确保您已经安装了Java开发环境和Maven构建工具,以及MySQL数据库。

步骤一:创建Spring Boot项目

首先,我们需要创建一个新的Spring Boot项目。可以使用Spring Initializr(https://start.spring.io/)来快速创建一个空项目,选择"Maven Project"、“Java”、“Spring Boot 版本”、"项目依赖(Web, Mybatis, MySQL)"等选项,然后点击"Generate"按钮下载生成的项目。

在使用MyBatis接入MySQL数据库时,需要引入以下依赖:

1. MyBatis依赖:
  • MyBatis是一款开源的持久层框架,使用它可以方便地操作数据库。
  • 在Maven项目中,需要在pom.xml文件中添加以下依赖:
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.7</version>
    </dependency>
    
2. MySQL连接驱动依赖:
  • MySQL连接驱动是用于与MySQL数据库建立连接的组件。
  • 在Maven项目中,需要在pom.xml文件中添加以下依赖:
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.26</version>
    </dependency>
    

步骤二:配置MySQL数据库连接

打开项目的application.properties文件(或者是application.yml文件),在其中添加以下MySQL数据库的配置信息。请将your-databaseyour-usernameyour-password替换为实际的数据库名、用户名和密码。

spring.datasource.url=jdbc:mysql://localhost:3306/your-database?useSSL=false&serverTimezone=UTC
spring.datasource.username=your-username
spring.datasource.password=your-password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

步骤三:定义实体类

创建一个Java类,表示数据库中的某个表。这个类通常称为实体类或模型类。属性和数据库表中的字段对应。例如,下面是定义一个名为User的实体类的例子:

public class User {
    private Long id;
    private String name;
    private String email;
    // 省略getter和setter方法
}

步骤四:创建Mapper接口

创建一个UserMapper接口,用于定义对User表进行操作的方法。该接口使用Mybatis的注解来定义数据库操作。例如,下面是一个简单的UserMapper接口的例子:

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM user")
    List<User> findAll();
  
    @Insert("INSERT INTO user(name, email) VALUES(#{name}, #{email})")
    @Options(useGeneratedKeys = true, keyProperty = "id")
    void insert(User user);
  
    @Update("UPDATE user SET name=#{name}, email=#{email} WHERE id=#{id}")
    void update(User user);
  
    @Delete("DELETE FROM user WHERE id=#{id}")
    void delete(Long id);
}

步骤五:创建Service接口和实现类

创建一个UserService接口,用于定义业务逻辑相关的方法。然后创建一个实现类UserServiceImpl,实现UserService接口,并在该实现类中注入UserMapper。我们可以在实现类中编写更复杂的业务逻辑。例如,下面是一个简单的UserServiceImpl的例子:

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;
  
    @Override
    public List<User> getAllUsers() {
        return userMapper.findAll();
    }
  
    @Override
    public void addUser(User user) {
        userMapper.insert(user);
    }
  
    @Override
    public void updateUser(User user) {
        userMapper.update(user);
    }
  
    @Override
    public void deleteUser(Long id) {
        userMapper.delete(id);
    }
}

步骤六:创建Controller类

创建一个UserController类,用于处理HTTP请求。在其中注入UserService,并编写对应的请求处理方法。例如,下面是一个简单的UserController的例子:

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;
  
    @GetMapping()
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }
  
    @PostMapping()
    public void addUser(@RequestBody User user) {
        userService.addUser(user);
    }
  
    @PutMapping("/{id}")
    public void updateUser(@PathVariable("id") Long id, @RequestBody User user) {
        user.setId(id);
        userService.updateUser(user);
    }
  
    @DeleteMapping("/{id}")
    public void deleteUser(@PathVariable("id") Long id) {
        userService.deleteUser(id);
    }
}

步骤七:运行项目

在命令行中,进入项目的根目录,执行mvn spring-boot:run命令来运行应用程序。或者,直接运行IDE中的启动类。

现在,您已经成功使用Spring Boot和Mybatis来接入MySQL数据库了!您可以使用各种HTTP客户端或浏览器来测试刚刚创建的API。例如,可以使用cURL命令行工具发送HTTP请求,如curl localhost:8080/users

步骤四(补充):创建Mapper接口和XML文件

我们通常还会使用XML文件进行操作,下面补充这种实现形式。

创建一个名为UserMapper的Java接口,用于定义对User表进行操作的方法。然后,创建一个名为UserMapper.xml的XML文件,用于实现这些方法。

UserMapper接口:

@Mapper
public interface UserMapper {
    List<User> findAll();
    void insert(User user);
    void update(User user);
    void delete(Long id);
}

UserMapper.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.mapper.UserMapper">

    <select id="findAll" resultType="com.example.model.User">
        SELECT * FROM user
    </select>

    <insert id="insert">
        INSERT INTO user(name, email) VALUES(#{name}, #{email})
    </insert>

    <update id="update">
        UPDATE user SET name=#{name}, email=#{email} WHERE id=#{id}
    </update>

    <delete id="delete">
        DELETE FROM user WHERE id=#{id}
    </delete>

</mapper>

注意:要将UserMapper.xml文件放在与UserMapper接口相同的包路径下,并确保在application.properties(或application.yml)文件中配置了正确的Mybatis配置。

mybatis.mapper-locations=classpath:mapper/**/*.xml
mybatis.type-aliases-package=com.example.model

创建一个名为UserMapperImpl的类,并实现UserMapper接口。在该实现类中注入SqlSession,用来执行SQL语句。

@Repository
public class UserMapperImpl implements UserMapper {
    private final SqlSession sqlSession;
  
    public UserMapperImpl(SqlSession sqlSession) {
        this.sqlSession = sqlSession;
    }
  
    @Override
    public List<User> findAll() {
        return sqlSession.selectList("com.example.mapper.UserMapper.findAll");
    }
  
    @Override
    public void insert(User user) {
        sqlSession.insert("com.example.mapper.UserMapper.insert", user);
    }
  
    @Override
    public void update(User user) {
        sqlSession.update("com.example.mapper.UserMapper.update", user);
    }
  
    @Override
    public void delete(Long id) {
        sqlSession.delete("com.example.mapper.UserMapper.delete", id);
    }
}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot整合邮件发送并保存历史发送邮箱 项目描述 项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 3、Spring Boot 发送邮件(文本格式的邮件、发送HTML格式的邮件、发送带附件 的邮件、发送带静态资源的邮件) 个人觉得Springboot的开发简单的归纳为三步jar包引入,配置,应用。 (一)简单使用 1)JSP的使用配置 Spring Boot整合邮件发送并保存历史发送邮箱 Spring Boot整合邮件发送并保存历史发送邮箱 2) 邮件发送服务 1、pom 包配置 pom.xml 引入spring-boot-starter-mail 依赖包: Spring Boot整合邮件发送并保存历史发送邮箱 2、配置文件 application.yml Spring Boot整合邮件发送并保存历史发送邮箱 注意:测试时需要将 spring.mail.username 和 spring.mail.password 改成自己邮箱对应的登录名和密码,这里的密码不是邮箱的登录密码,是开启 POP3 之后设置的客户端授权密码。 MailServiceImpl.java JavaMailSender (1)Spirng 已经帮我们内置了 JavaMailSender,直接在项目中引用即可。我们封装一个 MailService 类来实现普通的邮件发送方法。 Spring Boot整合邮件发送并保存历史发送邮箱 from,即为邮件发送者; to,邮件接收者; subject,邮件主题; content,邮件的主体。 邮件发送者 from 一般采用固定的形式写到配置文件中。 (2)富文本邮件 在日常使用的过程中,通常在邮件中加入图片或者附件来丰富邮件的内容 发送 HTML 格式邮件 邮件发送支持以 HTML 的形式去构建我们喜欢的文本格式,Spring 对 HTML 格式的邮件也做出了支持,非常方便使用。 我们在 MailService 中添加支持 HTML 发送的方法. Spring Boot整合邮件发送并保存历史发送邮箱 和上面对比,这次发送邮件使用 MimeMessageHelper 类。MimeMessageHelper 支持发送复杂邮件模板,支持文本、附件、HTML、图片等,接下来我们会继续使用。 (3)发送带附件的邮件 在 MailService 添加 sendAttachmentsMail 方法。 Spring Boot整合邮件发送并保存历史发送邮箱 (4)发送带静态资源的邮件 邮件中的静态资源一般就是指图片,在 MailService 添加 sendAttachmentsMail 方法。 Spring Boot整合邮件发送并保存历史发送邮箱 相关测试在这里就省略了 (二)本项目中主要以发送 HTML 格式邮件为例,发送邮件并把邮箱保存到数据库中 FreeMarker模板引擎 Spring Boot整合邮件发送并保存历史发送邮箱 邮件模板 Spring Boot整合邮件发送并保存历史发送邮箱 运行环境 jdk8+tomcat8+mysql+IntelliJ IDEA+maven 项目技术(必填) springboot +mybatis +jquery+jsp 数据库文件 压缩包内 jar包文件 maven搭建
连接数据库需要进行以下步骤: 1. 在pom.xml文件中添加MyBatis-Plus和数据库驱动的依赖,例如: ```xml <dependencies> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies> ``` 2. 在application.properties或application.yml文件中配置数据库连接信息,例如: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf-8 spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 3. 在Spring Boot主类上添加`@MapperScan`注解,指定MyBatis-Plus的mapper接口所在的包,例如: ```java @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 4. 创建实体类和Mapper接口。实体类需要使用`@TableName`注解指定对应的数据库表名,Mapper接口需要继承`BaseMapper`,例如: ```java @TableName("user") public class User { @TableId(type = IdType.AUTO) private Long id; private String name; private Integer age; // getter、setter方法省略 } public interface UserMapper extends BaseMapper<User> { } ``` 至此,Spring BootMyBatis-Plus就已经成功连接数据库了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值