springboot 整合maybatis快速启动


创建springboot项目

在这里插入图片描述

导包 (创建的时候选了mybatis 和mysql Driver 就不用导了)

//mybatis核心包
 		<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>

//连接包
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

创建映射文件

<?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.hello03.mapper.usermapper">

    <resultMap id="userMap" type="com.example.hello03.entity.user" >
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="phone" property="phone"/>
        <result column="version" property="version"/>
        <result column="deleted" property="deleted"/>
        <result column="createtime" property="createtime"/>
        <result column="updatetime" property="updatetime"/>
        <!--        嵌套属性-->

    </resultMap>

    <insert id="add" parameterType="com.example.hello03.entity.user">
        insert into test01
            (id,name,phone,version,deleted,createtime,updatetime)
        values
            (#{id},#{name},#{phone},#{version},#{deleted},#{createtime},#{updatetime})
    </insert>
</mapper>

设置springboot properties 文件


spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/hello?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5


#配置实现sql语句的xml文件放置的地方
mybatis.mapper-locations=classpath:com/example/hello03/mapper/xml/*.xml # 启动类可以不加包扫描器,但这个配置必须要加不加的话即使启动类加了包扫描器也找不到xml;



数据库对应的java been

package com.example.hello03.entity;

import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
public class user {
    private Integer id;
    private  String name;
    private  String phone;
    private Integer version;
    private Integer deleted;
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date createtime;
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date updatetime;

}

视图层

package com.example.hello03.vo;

import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
public class uservo {

    private  String name;
    private  String phone;



}

service 实现类

package com.example.hello03.service.impl;

import com.example.hello03.entity.user;
import com.example.hello03.mapper.usermapper;
import com.example.hello03.service.userservice;
import com.example.hello03.vo.uservo;
import org.springframework.stereotype.Service;

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

@Service
public class userimpl implements userservice {
    @Resource
    usermapper usermapper;

    @Override
    public void add(uservo u) {

      
        user aa=new user();
//        aa.setId(3);
        aa.setName(u.getName());
        aa.setPhone(u.getPhone());
        aa.setCreatetime(new Date());
        aa.setUpdatetime(new Date());
        aa.setVersion(0);
        aa.setDeleted(0);
    
        usermapper.add(aa);
    }
}

控制层

package com.example.hello03.controller;

import com.example.hello03.entity.user;
import com.example.hello03.service.userservice;
import com.example.hello03.vo.uservo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class n1control {

    @Autowired
    userservice userservice;

    @ResponseBody
    @PostMapping ("/add")
    public String hellox(uservo u) {
        userservice.add(u);


     return  "添加成功";




    }

}

如果xml 加载不了 则配置pom

   <resources>
            <resource>
                <directory>${basedir}/src/main/webapp</directory>
                <!-- 注意此次必须要放在此目录下才能被访问到 -->
                <targetPath>META-INF/resources</targetPath>
                <includes>
                    <include>**/**</include>
                </includes>
            </resource>
            <resource>
                <directory>${basedir}/src/main/resources</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                    <include>**/*.pem</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/**/*.xml</include>
                </includes>
            </resource>
        </resources>

项目结构图

在这里插入图片描述

sql语句 模板

<?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.hello03.mapper.usermapper">

    <resultMap id="userMap" type="com.example.hello03.entity.user" >
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="phone" property="phone"/>
        <result column="version" property="version"/>
        <result column="deleted" property="deleted"/>
        <result column="createtime" property="createtime"/>
        <result column="updatetime" property="updatetime"/>
        <!--        嵌套属性-->

    </resultMap>

    <insert id="add" parameterType="com.example.hello03.entity.user">
        insert into test01
            (id,name,phone,version,deleted,createtime,updatetime)
        values
            (#{id},#{name},#{phone},#{version},#{deleted},#{createtime},#{updatetime})
    </insert>

    <!--    删除-->
    <delete id="delete"  parameterType="Integer">
        delete from test01 where id = #{id}

    </delete>
    <!--    修改-->
    <update id="update" parameterType="com.example.hello03.entity.user">
        update test01
        set name =#{name},
            phone =#{phone}

        where id = #{id}
    </update>

</mapper>

控制层demo

@Controller
public class n1control {

    @Autowired
    userservice userservice;
    @Autowired
    usermapper usermapper;
    @ResponseBody
    @PostMapping ("/add")
    public String hellox(uservo u) {
        userservice.add(u);


     return  "添加成功";


    }
    @ResponseBody
    @GetMapping ("/delete")
    public String delete(int id) {
        usermapper.delete(id);
        System.out.println("zzzzzzzzzzzzz");


        return  "刪除成功";




    }

    @ResponseBody
    @GetMapping ("/update")
    public String update(user u) {
        usermapper.update(u);
        System.out.println("zzzzzzzzzzzzz");


        return  "修改成功";


    }

}

map接口


 void add(user u);
 void delete( int id);
 void update(user u);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚构的乌托邦

如果可以请打赏鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值