Java学习-MySQL

环境准备

  1. 安装Java开发工具包(JDK)。

  2. 安装MySQL数据库服务器,并确保它正在运行。

  3. 下载并安装Java的MySQL连接器(JDBC驱动程序)。

一、简单使用

连接数据库

        要在Java应用程序中使用MySQL数据库,首先需要建立与数据库的连接。这可以通过使用JDBC连接器来实现。以下是一个简单的示例代码,演示了如何连接到MySQL数据库:

private static final String URL = "jdbc:mysql://localhost:3306/test";
    private static final String USERNAME = "user";
    private static final String PASSWORD = "password";

    //链接数据库
    //URL是MySQL数据库的连接URL,USERNAME和PASSWORD是连接数据库所需的用户名和密码。
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(URL, USERNAME, PASSWORD);
    }

在上面的代码中,URL是MySQL数据库的连接URL,USERNAMEPASSWORD是连接数据库所需的用户名和密码。

执行查询操作

        连接到数据库后,你可以执行各种查询操作,例如检索数据、插入新数据等。以下是一个示例代码,演示了如何执行一个简单的查询操作:

public static void query() {
        try (Connection conn = getConnection();
             Statement stmt = conn.createStatement()) {
            String sql = "SELECT * FROM test.bs_iteration LIMIT 10";
            ResultSet rs = stmt.executeQuery(sql);

            while (rs.next()) {
                int id = rs.getInt("id");
                System.out.println("ID: " + id + "iteration_name"+rs.getString("iteration_name"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

在上面的代码中,我们执行了一个简单的SELECT查询,并遍历了结果集以输出查询结果。

执行更新操作

        除了查询操作之外,你还可以执行更新操作,例如插入、更新或删除数据。以下是一个示例代码,演示了如何执行一个简单的插入操作:

 public static void update() {
        try (Connection conn = getConnection()) {
            String sql = "UPDATE test.bs_iteration t SET t.iteration_name = '迭代运营-1' WHERE t.id = 18;";
            PreparedStatement stmt = conn.prepareStatement(sql);
            int rowsInserted = stmt.executeUpdate();
            if (rowsInserted > 0) {
                System.out.println("update successfully!");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

在上面的代码中,我们执行了一个简单的INSERT操作,向名为users的表中插入了一条新记录。

二、MyBatis-Plus

        在Java应用程序中,连接和操作MySQL数据库是一项常见的任务。MyBatis-Plus是一个优秀的Java持久层框架,它是基于MyBatis进行封装,提供了更简洁、更便捷的数据库操作方式。提供了一系列的功能,包括代码生成器、分页插件、性能分析插件、多数据源支持等。

在Java Spring Boot框架中使用MyBatis-Plus

1. 添加依赖

首先,需要在pom.xml文件中添加MyBatis-Plus的依赖:

   <!-- mybatis-plus -->
   <dependency>
       <groupId>com.baomidou</groupId>
       <artifactId>mybatis-plus-boot-starter</artifactId>
       <version>3.5.1</version>
   </dependency>
   <!-- mysql连接器 -->
   <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.17</version>
   </dependency>
 

你可以在version处填写你想要使用的MyBatis-Plus版本。

配置数据库连接

        在开始使用MyBatis-Plus之前,首先需要配置数据库连接。这可以通过编辑application.properties(如果使用Spring Boot)或mybatis-plus.yml等配置文件来实现。以下是一个示例配置:

# application.properties

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=username
spring.datasource.password=password

在上面的配置中,spring.datasource.url是数据库的连接URL,spring.datasource.usernamespring.datasource.password分别是连接数据库所需的用户名和密码。

在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹:

@SpringBootApplication
@MapperScan(basePackages ={"com.gaotu.java.share.java2.learnMysql.dao","com.gaotu.java.share.java2.learnMysql.dao.mapper"})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

定义实体类

在使用MyBatis-Plus时,通常需要定义与数据库表对应的实体类。以下是一个简单的示例:

import com.baomidou.mybatisplus.annotation.TableName;

@TableName("user")
public class User {
    private Long id;
    private String username;
    private String email;

    // 省略getter和setter方法
}

在上面的示例中,@TableName注解用于指定实体类对应的数据库表名。

Mapper接口

Mapper接口用于定义与数据库表相关的操作方法。在MyBatis-Plus中,通常通过继承BaseMapper接口来实现这一点。以下是一个示例:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

public interface UserMapper extends BaseMapper<User> {
    // 可以在此添加自定义的查询方法
}

在上面的示例中,UserMapper接口继承了BaseMapper<User>接口,并可以通过它来执行对User实体类对应的数据库表的各种操作。

Service类

Service类用于封装业务逻辑,通常用于调用Mapper接口执行数据库操作。以下是一个简单的示例:

import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class UserService {
    @Resource
    private UserMapper userMapper;

    public List<User> getAllUsers() {
        return userMapper.selectList(null);
    }

    // 可以在此添加其他业务逻辑方法
}

在上面的示例中,UserService类调用了UserMapper接口的selectList方法来获取所有用户的信息。

自动生成主键

在使用自动生成主键功能前,先设置数据id主键为自增ID,否则会导致主键id插入null错误(主键设置了不允许null的情况下)。

两种id生成配置策略:

1. 全局配置生成id类型;

mybatis-plus:
  global-config:
    db-config:
      #主键类型(auto:"自增id",assign_id:"全局唯一id(雪花算法,Long或者String类型)",assign_uuid:"全局唯一id(
      #       无中划线的uuid)",input:"自行设置id,默认null",none:"不设置主键id")
      id-type: assign_id

2. 局部表实体配置生成id类型。

        使用@TableId注解配置id生成类型

自动生成代码插件

        可以根据数据库表自动生成对应的实体类、Mapper接口以及Service代码,极大地减少了手动编写代码的工作量。

可以参考:MyBatisX插件使用-SpringBoot-CSDN博客

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值