SpringBoot 集成 Mybatis

news2024/7/6 21:08:49

SpringBoot 集成 Mybatis 详细教程

(只有操作,没有理论,仅供参考学习)

一、操作部分

1. 准备数据库

1.1 数据库版本:

C:\WINDOWS\system32>mysql -V
mysql  Ver 8.0.25 for Win64 on x86_64 (MySQL Community Server - GPL)

1.2 启动 mysql 服务:

C:\WINDOWS\system32>net start mysql
The MySQL service is starting..
The MySQL service was started successfully.

1.3 新创建数据库 spring,并创建一个 user 表,user 表详情:

Column Name 		Datatype		PrimaryKey 		Unique
id     				  INT				√			  √
username			  VARCHAR(45)	
password			  VARCHAR(45)	

如下图:

在这里插入图片描述

2. 创建工程

2.1 使用 spring 官网页面创建工程(其他亦可),链接:Spring Initializr 创建 SpringBoot 工程,如下图:

在这里插入图片描述

2.2 用 IDEA 打开工程:

在这里插入图片描述

2.3 配置项目的 maven 环境:
File -> Setting... -> Maven

在这里插入图片描述
2.4 导入依赖 pom.xml 文件:

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
            <version>8.0.25</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

注意点:由于我的项目运行有报错的原因,我把项目的版本调整了一下:
修正前:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.13</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

修正后:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

配置完成后完整的 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>2.4.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.buzl</groupId>
    <artifactId>main</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>main</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </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</artifactId>
            <version>2.1.1</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
            <version>8.0.25</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

2.5 配置数据库连接文件 application.properties

注意点
第一行的数据库要修改为自己的数据库名称,我的数据库名称是 spring,根据实际需求更改
第二行和第三行是连接数据库的用户名和密码,根据实际需求更改
第四行是数据库的驱动,使用 com.mysql.cj.jdbc.Driver 还是 com.mysql.jdbc.Driver 按需更改
第五行是 mybatis mapper 文件路径,我的文件路径是:resources/mapper/UserMapper.xml,按需更改

spring.datasource.url=jdbc:mysql://localhost:3306/spring?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.mapper-locations=classpath:mapper/*.xml

2.6 创建 User.java 实体类

public class User {

    /**
     * 主键 id
     */
    private Integer id;

    private String username;

    private String password;
    
    public User(Integer id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    /**
     * 重写 toString 方法
     * @return
     */
    @Override
    public String toString() {
        return "User{" +
                "id = " + id +
                "\t username = " + username +
                "\t password = " + password +
                "}";
    }
    // set and get method ...
}

2.7 创建 UserMapper 接口

@Mapper // 表示这是一个 Mybatis 的 mapper 类
@Repository
public interface UserMapper {

    @Autowired
    int insertUser(User user);
    
    @Autowired
    int deleteByPrimaryKey(Integer id);
    
    @Autowired
    User selectByPrimaryKey(Integer id);
    
    @Autowired
    int updateUserByPrimaryKey(User user);
    
    @Autowired
    List<User> selectAll();
    
}

2.8 创建 UserMapper 控制器

@RestController
@RequestMapping("/mybatis")
public class UserConroller {

    @Resource
    private UserMapper userMapper;

    @GetMapping("/selectAll")
    public List<User> selectAll() {
        List<User> userList = userMapper.selectAll();
        return userList;
    }

    @GetMapping("/selectByPrimaryKey")
    public User selectByPrimaryKey() {
        User user = userMapper.selectByPrimaryKey(111);
        return user;
    }

    @GetMapping("/insertSelective")
    public String insertUser() {
        User user = new User(123, "梅花", "pwd123");
        userMapper.insertUser(user);
        return "insert data to database success!";
    }

    @GetMapping("/updateByPrimaryKeySelective")
    public String updateUserByPrimaryKey() {
        Integer id = 123;
        User user = new User(id, "刘备", "pwd666");
        userMapper.updateUserByPrimaryKey(user);
        return "database updated success!";
    }

    @GetMapping("/deleteByPrimaryKey")
    public String deleteByPrimaryKey() {
        Integer id = 123;
        userMapper.deleteByPrimaryKey(id);
        return "delete database success!";
    }

}

2.6 UserMapper.xml 文件

注意点id 的值要和 UserMapper 接口的函数名称对应上
如:

 xml 文件 id 的值 selectAll 名字和 UserMapper 接口中的函数名一一对应
xml 文件:
<select id="selectAll" resultType="com.buzl.main.entity.User">

UserMapper 接口函数:
@Autowired
List<User> selectAll();
<?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.buzl.main.mapper.UserMapper">

    <!--共通属性抽出-->
    <sql id="Base_Column_List">
        id,username,password
    </sql>

    <!--查询数据库中所有的数据-->
    <select id="selectAll" resultType="com.buzl.main.entity.User">
        <!--select * from spring.user-->
        select <include refid="Base_Column_List" /> from spring.user
    </select>

    <!--通过 id 查询数据-->
    <select id="selectByPrimaryKey" resultType="com.buzl.main.entity.User">
        select <include refid="Base_Column_List" /> from spring.user where id=#{id}
    </select>

    <!--向数据库中插入数据-->
    <insert id="insertUser" parameterType="com.buzl.main.entity.User">
        insert into spring.user(<include refid="Base_Column_List" />) values(#{id},#{username},#{password})
    </insert>

    <!--更新数据库中的数据-->
    <update id="updateUserByPrimaryKey" parameterType="com.buzl.main.entity.User">
        update spring.user set username=#{username},password=#{password} where id=#{id}
    </update>

    <!--通过 id 删除数据-->
    <delete id="deleteByPrimaryKey" parameterType="Integer">
        delete from spring.user where id=#{id}
    </delete>

</mapper>

二、代码部分

1. 项目目录结构:

在这里插入图片描述

2. User 实体类

package com.buzl.main.entity;

/**
 * 实体类
 *
 * @author buzenglai@gmail.com
 * @data 2023-07-10
 */
public class User {

    /**
     * 主键 id
     */
    private Integer id;

    private String username;

    private String password;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public User(Integer id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    /**
     * 重写 toString 方法
     * @return
     */
    @Override
    public String toString() {
        return "User{" +
                "id = " + id +
                "\t username = " + username +
                "\t password = " + password +
                "}";
    }

}

3. UserController 控制器类

package com.buzl.main.controller;

import com.buzl.main.mapper.UserMapper;
import com.buzl.main.entity.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

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

/**
 * controller 实现
 *
 * @author buzenglai@gmail.com
 * @data 2023-07-10
 */
@RestController
@RequestMapping("/mybatis")
public class UserConroller {

    @Resource
    private UserMapper userMapper;

    /**
     * 查询数据操作
     *
     * @return
     */
    @GetMapping("/selectAll")
    public List<User> selectAll() {
        List<User> userList = userMapper.selectAll();
        System.out.println("数据库中所有的 user 数据 :" + userList);
        return userList;
    }

    /**
     * 通过 id 查询操作
     *
     * @return
     */
    @GetMapping("/selectByPrimaryKey")
    public User selectByPrimaryKey() {
        User user = userMapper.selectByPrimaryKey(111);
        System.out.println("通过 id 查询出来的 user : " + user);
        return user;
    }

    /**
     * 插入数据
     *
     * @return
     */
    @GetMapping("/insertSelective")
    public String insertUser() {
        User user = new User(123, "梅花", "pwd123");
        userMapper.insertUser(user);
        System.out.println("user :" + user + " 被成功插入数据库");
        return "insert data to database success!";
    }

    /**
     * 更新数据
     *
     * @return
     */
    @GetMapping("/updateByPrimaryKeySelective")
    public String updateUserByPrimaryKey() {
        Integer id = 123;
        User user = new User(id, "刘备", "pwd666");
        userMapper.updateUserByPrimaryKey(user);
        System.out.println("数据库中 id = " + id + " 的数据已经被更新了");
        return "database updated success!";
    }

    /**
     * 删除数据
     *
     * @return
     */
    @GetMapping("/deleteByPrimaryKey")
    public String deleteByPrimaryKey() {
        Integer id = 123;
        userMapper.deleteByPrimaryKey(id);
        System.out.println("数据库中 id = " + id + " 的 user 数据已经被删除了");
        return "delete database success!";
    }

}

4. UserMapper 接口

package com.buzl.main.mapper;

import com.buzl.main.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 接口类
 *
 * @author buzenglai@gmail.com
 * @data 2023-07-10
 */
@Mapper // 表示这是一个 Mybatis 的 mapper 类
@Repository
public interface UserMapper {

    /**
     * 向数据库中插入一条数据
     *
     * @param user
     * @return
     */
    @Autowired
    int insertUser(User user);

    /**
     * 通过主键 id 删除数据
     *
     * @param id
     * @return
     */
    @Autowired
    int deleteByPrimaryKey(Integer id);

    /**
     * 通过主键 id 删除数据库中的数据
     *
     * @param id
     * @return
     */
    @Autowired
    User selectByPrimaryKey(Integer id);

    /**
     * 通过主键 id 更新数据库中的数据
     *
     * @param user
     * @return
     */
    @Autowired
    int updateUserByPrimaryKey(User user);

    /**
     * 查询数据库中所有的数据
     *
     * @return
     */
    @Autowired
    List<User> selectAll();

}

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

    <!--共通属性抽出-->
    <sql id="Base_Column_List">
        id,username,password
    </sql>

    <!--查询数据库中所有的数据-->
    <select id="selectAll" resultType="com.buzl.main.entity.User">
        <!--select * from spring.user-->
        select <include refid="Base_Column_List" /> from spring.user
    </select>

    <!--通过 id 查询数据-->
    <select id="selectByPrimaryKey" resultType="com.buzl.main.entity.User">
        select <include refid="Base_Column_List" /> from spring.user where id=#{id}
    </select>

    <!--向数据库中插入数据-->
    <insert id="insertUser" parameterType="com.buzl.main.entity.User">
        insert into spring.user(<include refid="Base_Column_List" />) values(#{id},#{username},#{password})
    </insert>

    <!--更新数据库中的数据-->
    <update id="updateUserByPrimaryKey" parameterType="com.buzl.main.entity.User">
        update spring.user set username=#{username},password=#{password} where id=#{id}
    </update>

    <!--通过 id 删除数据-->
    <delete id="deleteByPrimaryKey" parameterType="Integer">
        delete from spring.user where id=#{id}
    </delete>

</mapper>

6. 数据库连接配置文件:

spring.datasource.url=jdbc:mysql://localhost:3306/spring?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.mapper-locations=classpath:mapper/*.xml

7. 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>2.4.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.buzl</groupId>
    <artifactId>main</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>main</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--springboot 集成 mybatis,导入依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
        <!--mysql 驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
            <version>8.0.25</version>
        </dependency>
        <!--jdbc连接数据库-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

三、测试

使用 ApiFox 工具进行测试(用浏览器也是一样)

  1. 查询数据库中所有的数据:

在这里插入图片描述

  1. 通过 id 查询数据库中的数据:

在这里插入图片描述

  1. 向数据库中插入数据:

在这里插入图片描述

在这里插入图片描述

  1. 通过 id 更改数据库中的数据

在这里插入图片描述

在这里插入图片描述

  1. 通过 id 删除数据库的数据
    在这里插入图片描述
    在这里插入图片描述
  2. 控制台打印信息:
数据库中所有的 user 数据 :[User{id = 111	 username = 张三	 password = pwd111}, User{id = 222	 username = 李四	 password = pwd222}]
数据库中所有的 user 数据 :[User{id = 111	 username = 张三	 password = pwd111}, User{id = 222	 username = 李四	 password = pwd222}]
通过 id 查询出来的 user : User{id = 111	 username = 张三	 password = pwd111}
user :User{id = 123	 username = 梅花	 password = pwd123} 被成功插入数据库
数据库中所有的 user 数据 :[User{id = 111	 username = 张三	 password = pwd111}, User{id = 123	 username = 梅花	 password = pwd123}, User{id = 222	 username = 李四	 password = pwd222}]
数据库中 id = 123 的数据已经被更新了
数据库中所有的 user 数据 :[User{id = 111	 username = 张三	 password = pwd111}, User{id = 123	 username = 刘备	 password = pwd666}, User{id = 222	 username = 李四	 password = pwd222}]
数据库中 id = 123 的 user 数据已经被删除了
数据库中所有的 user 数据 :[User{id = 111	 username = 张三	 password = pwd111}, User{id = 222	 username = 李四	 password = pwd222}]

这是结束标志,结束了 ~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/748490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入解读:多人语音聊天室源码开发搭建社交分享功能

在生活中&#xff0c;流传着这么一句谚语&#xff0c;叫“赠人玫瑰&#xff0c;手有余香”&#xff0c;这句谚语大致意思就是劝导人们&#xff0c;分享给别人好的东西&#xff0c;自己也会有好处&#xff0c;收获到快乐。分享也是我们日常生活中社交的一种方式&#xff0c;当我…

【技能实训】DMS数据挖掘项目-Day08

文章目录 任务8【任务8.1.1】对IDataAnalyse类方法返回值使用泛型集合升级【任务8.1.2】对DataFilter类成员属性使用泛型集合升级&#xff0c;类型参数是有界的&#xff08;DataBase的子类&#xff09;【任务8.2】对LogRecAnalyse类成员属性使用泛型集合升级,相关数据集合进行泛…

SaaS私有云智慧校园电子班牌系统源码

智慧校园APP源码人脸识别系统 电子班牌云平台源码 SaaS私有云部署模式 电子班牌又称智慧班牌&#xff0c;是打造智慧校园的必需品&#xff0c;它可以展示班级信息、时间天气、班容班貌、通知公告、考勤签到、课程安排、值日安排等信息&#xff0c;无纸化电子设备&#xff0c;后…

剑指Offer-学习计划(二)链表篇

剑指 Offer 06. 从尾到头打印链表https://leetcode.cn/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/ 剑指 Offer 35. 复杂链表的复制https://leetcode.cn/problems/fu-za-lian-biao-de-fu-zhi-lcof/剑指 Offer 24. 反转链表https://leetcode.cn/problems/fan-zhuan-lian…

(37)安全开关

文章目录 前言 37.1 LED的含义 37.2 配置安全开关 37.3 使用安全开关强制更新I/O板固件 前言 一个安全开关可以用来启用/禁用电机和伺服的输出。该开关控制飞行器的"安全"状态。当处于这种状态时&#xff0c;电机被阻止运行&#xff08;除了在 Planes MANUAL 模…

2023年9月山东/厦门/南宁/深圳DAMA-CDGA/CDGP认证考试报名

据DAMA中国官方网站消息&#xff0c;2023年度第三期DAMA中国CDGA和CDGP认证考试定于2023年9月23日举行。 报名通道现已开启&#xff0c;相关事宜通知如下&#xff1a; 考试科目: 数据治理工程师(CertifiedDataGovernanceAssociate,CDGA) 数据治理专家(CertifiedDataGovernanc…

记一次在forEach循环中使用异步代码无效

背景 代码如下&#xff1a; const res1 await getOrderPackage({XM_LX: "95", // 入院检查套餐 }); const res2 await getOrderPackage({XM_LX: "98", // 入院检验套餐 });const res [...res1.data, ...res2.data] let retList: any[] []; const map: …

一万字带你吃透RocketMQ

前言 工作中很多种场景下会用到消息队列&#xff0c;消息队列简单来说就是 消息的传输过程中保存消息的容器。消息队列主要解决了应用耦合、异步处理、流量削峰等问题。今天我们来了解一下阿里开源的一款产品 RocketMQ。 RocketMQ简介 RocketMQ 是一款低延迟、高并发、高可用…

SEM代运营费用解析:为什么值得投资?

随着企业竞争的日益激烈&#xff0c;SEM&#xff08;搜索引擎营销&#xff09;作为一种重要的数字营销手段&#xff0c;已经成为各类企业不可或缺的一部分。然而&#xff0c;在进行SEM代运营时&#xff0c;很多企业都会关心费用问题。本文将为您解析SEM代运营费用的组成和投资价…

React中的key有什么作用?

一、是什么 首先&#xff0c;先给出react组件中进行列表渲染的一个示例&#xff1a; const data [{ id: 0, name: abc },{ id: 1, name: def },{ id: 2, name: ghi },{ id: 3, name: jkl } ];const ListItem (props) > {return <li>{props.name}</li>; };co…

网络安全(黑客技术)自学笔记

首先给大家简单介绍一下网络安全&#xff1a; 1.什么是网络安全&#xff1f; 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、…

【星戈瑞】荧光染料BODIPY-689/725激发发射应用

BODIPY-689/725是一种荧光染料&#xff0c;BODIPY具有强烈吸收和发射荧光的有机染料&#xff0c;常用于生物成像和荧光探针应用中&#xff0c;其激发和发射波长适合于深层组织和细胞内的成像,可应用于生物成像、荧光探针、传感器等领域。 产品名称&#xff1a;氟化硼二吡咯-68…

房屋结构安全监测方案,守护城市建筑的安全底线!

近年来&#xff0c;随着城市化进程的加速和建筑业的迅猛发展&#xff0c;房屋结构安全成为社会关注的焦点。房屋在长期使用的过程中可能遭受到各种自然原因逐渐老化、人为原因的损坏导致房屋基础结构产生老化、腐蚀、折断等险情&#xff0c;进而引发结构倾斜、位移、开裂、扭曲…

flink启动报错Failed to construct kafka producer

flink local模式下启动 sink2kafka报错&#xff0c;具体报错如下 apache.kafka.common.KafkaException: Failed to construct kafka producerat org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:432)at org.apache.kafka.clients.producer.…

【JDBC】Java连接MySQL数据库

文章目录 一、数据库编程二、Java数据库编程JDBC2.1 什么是JDBC2.2 JDBC的工作原理 三、JDBC基本操作3.1 JDBC API3.2 数据库连接Connection3.3 Statement对象3.4 ResultSet对象 四、应用案例 一、数据库编程 数据库编程指的是通过编程语言与数据库进行交互和操作的过程&#…

uniapp 一些常用的公共方法

封装代码可以看这篇文章: uniapp 封装公共方法(无需每个页面引用,直接可以调用)_前端小胡兔的博客-CSDN博客uniapp 封装公共方法https://blog.csdn.net/weixin_44805839/article/details/131684296?spm1001.2014.3001.5501 常用方法: 自定义返回页面 (直接使用uni.naviga…

DuiLib中的list控件以及ListContainerElement控件

文章目录 前言1、创建list控件2、创建 ListContainerElement 元素&#xff0c;并添加到 List 控件中,这里的ListContainerElement用xml来表示3、在 ListContainerElement 元素中添加子控件 1、List控件2、ListContainerElement控件 前言 在 Duilib 中&#xff0c;List 控件用于…

【微服务】集成其他已有的模块

目录 下载新的模块信息删除git信息将已有模块复制到当前项目里面在父pom文件中&#xff0c;加上复制进的模块重新解析结果 下载新的模块信息 删除git信息 将已有模块复制到当前项目里面 在父pom文件中&#xff0c;加上复制进的模块 重新解析 结果 集成完成

第二十四章:索引的数据结构

第二十四章&#xff1a;索引的数据结构 24.1&#xff1a;为什么使用索引 ​ 索引是存储引擎用于快速找到数据记录的一种数据结构&#xff0c;就好比一本教课书的目录部分&#xff0c;通过目录中找到对应文章的页码&#xff0c;便可快速定位到需要的文章。MySQL中也是一样的道…

Java实现图片与Base64编码互转

Java实现图片与Base64编码互转 淘宝里面的html用base64转换图片&#xff0c;不知道为什么&#xff0c;不过看起来好像很美好&#xff0c;话不多说&#xff0c;直接上代码&#xff1a; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOE…