idea+mybatis+mysql连接数据库

这个网络上已经有很多实例了,写这个也是想着按照自己的工作的方式来进行连接,仅供大家参考。
1、打开idea,选择file-new project,选择spring Initializr,如下图:
在这里插入图片描述
2、点击下一步,修改项目名称,然后选择jar包的版本,我习惯选择8版本
在这里插入图片描述
3、点击下一步,选择对应的插件,如下图:
在这里插入图片描述
4、点击完成后,初步创建项目完成。然后创建数据库和对应的表。表可以按照自己需求来创建,如下图:
在这里插入图片描述
5、创建好数据库和表以后,可以在idea的application.properties上配置数据库连接的设置,如下图:
在这里插入图片描述

server.port=8082

mybatis.mapper-locations=classpath:mapper/*.xml

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=123root

6、在entity路径下,创建实体类Area,实体类字段与表字段相对应,如下图:
在这里插入图片描述

package com.gzb.springbootmybatis.entity;

import java.util.Date;

/**
 * @author: Author
 * @Date:2023/10/7 17:02
 * @Description:
 * @Version: 1.0
 */
public class Area {
    private Integer areaId;

    private String areaName;

    private Integer priority;

    private Date createTime;

    private Date lastEditTime;

    public Integer getAreaId() {
        return areaId;
    }

    public void setAreaId(Integer areaId) {
        this.areaId = areaId;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getLastEditTime() {
        return lastEditTime;
    }

    public void setLastEditTime(Date lastEditTime) {
        this.lastEditTime = lastEditTime;
    }

    @Override
    public String toString() {
        return "Area{" +
                "areaId=" + areaId +
                ", areaName='" + areaName + '\'' +
                ", priority=" + priority +
                ", createTime=" + createTime +
                ", lastEditTime=" + lastEditTime +
                '}';
    }
}

7、controller下添加访问类,如下图:
在这里插入图片描述

package com.gzb.springbootmybatis.controller;

import com.gzb.springbootmybatis.entity.Area;
import com.gzb.springbootmybatis.service.AreaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @author: Author
 * @Date:2023/10/7 16:58
 * @Description:
 * @Version: 1.0
 */

@RestController
@RequestMapping("/area")
public class AreaController {
    @Autowired
    private AreaService areaService;

    @RequestMapping("/getAllArea.do")
    public List<Area> getAllArea(){
        return areaService.getAllArea();

    }

    @RequestMapping("/inserArea.do")
    public int inserAreaInfo(@RequestBody  Area area){

        return areaService.inserArea(area);

    }

    @RequestMapping("/deleteArea.do")
    public void deleteArea(@RequestBody Area area){
        areaService.deleteAreaById(area);

    }

}

8、dao添加数据库操作类
在这里插入图片描述

package com.gzb.springbootmybatis.dao;

import com.gzb.springbootmybatis.entity.Area;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author: Author
 * @Date:2023/10/7 17:07
 * @Description:
 * @Version: 1.0
 */

@Mapper

public interface AreaMapper {
    public List<Area> getAllArea();

    //  插入数据
    public int insertArea(Area area);

    // 根据id删除区域
    public void deleteAreaById(Area area);

}

9、service下添加逻辑代码,如下图:

package com.gzb.springbootmybatis.service;

import com.gzb.springbootmybatis.dao.AreaMapper;
import com.gzb.springbootmybatis.entity.Area;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author: Author
 * @Date:2023/10/7 17:00
 * @Description:
 * @Version: 1.0
 */

@Service

public class AreaService {

    @Autowired(required = false)
    private AreaMapper areaMapper;

    public List<Area> getAllArea() {
        return areaMapper.getAllArea();
    }

    public int inserArea(Area area) {
        int num = 0;
        areaMapper.insertArea(area);
        return num;
    }

    public void deleteAreaById(Area area) {

        areaMapper.deleteAreaById(area);
    }
}

10、resource文件夹下添加mapper文件夹,然后mapper文件夹添加数据库操作语言,也就是sql
在这里插入图片描述
AreaMapper.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.gzb.springbootmybatis.dao.AreaMapper">
    <resultMap id="result" type="com.gzb.springbootmybatis.entity.Area">
        <result column="area_id" jdbcType="INTEGER" property="areaId"/>
        <result column="area_name" jdbcType="VARCHAR" property="areaName"/>
        <result column="priority" jdbcType="INTEGER" property="priority"/>
        <result column="create_time" jdbcType="DATE" property="createTime"/>
        <result column="last_edit_time" jdbcType="DATE" property="lastEditTime"/>
    </resultMap>

    <select id="getAllArea" resultMap="result" resultType="com.gzb.springbootmybatis.entity.Area">
        select * from tb_area
        order by priority desc ;
    </select>

    <insert id="insertArea" parameterType="com.gzb.springbootmybatis.entity.Area" useGeneratedKeys="true" keyProperty="areaId">
        insert into tb_area
        (
        area_name,
        priority,
        create_time,
        last_edit_time)
        values (
        #{areaName},
        #{priority},
        #{createTime},
        #{lastEditTime}
        )
    </insert>

    <delete id="deleteAreaById" parameterType="com.gzb.springbootmybatis.entity.Area" flushCache="true">
        delete from tb_area
        where area_id = #{areaId}
    </delete>
</mapper>

其中xml内的id需要与AreaMapper.java里面的函数名一致,parameterType则是传参的类型。

10、完成上面这几步之后,先检查有没有错误,如果没有错误的话,则可以开始启动服务器,进行测试了。如下图:
在这里插入图片描述
以上就是使用idea+mybatis连接mysql的过程,写得比较乱,如果还有不太明白的地方,可以一起讨论和改进。

引用\[1\]中提到的项目架构是基于Java语言的B/S架构,使用了JSP和ssm框架。其中,前端技术包括HTML、CSS、JS、JQuery等,后端技术包括MyBatis作为持久层框架。数据库使用MySQL5.5/5.7/8.0版本,运行服务器可以选择Tomcat7.0/8.0/8.5/9.0等版本。该项目实现了购物车功能,可以区分管理员用户和普通用户。普通用户可以进行注册登录,浏览网站,查看商品和详情,加入购物车,下单,查询订单,修改个人信息等操作。管理员用户则可以进行水果基本信息的维护、分类管理、订单管理、用户管理等功能。这个项目可以使用idea开发工具进行开发和运行,不支持MyEclipse和eclipse运行。如果想在eclipse中运行,需要进行转换。你可以从https://www.jiuniao.com/code/13412.html获取该项目的代码。 #### 引用[.reference_title] - *1* [基于ssm的校园二手物品交易平台(idea+spring+springmvc+mybatis+jsp)](https://blog.csdn.net/qq_43485489/article/details/126461870)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [基于javaweb+mysql的在线水果商城系统(java+JSP+Spring+SpringMVC +MyBatis+html+mysql)](https://blog.csdn.net/m0_71497271/article/details/125030700)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值