springboot mybatis xml版

1.添加相关maven文件

<dependencies>
    <!--springboot mybatis-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.0.0</version>
    </dependency>
    <!--mysql-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
   <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

2.pom 中build  这个resources 需要加一下 不然idea 启动项目的时候不会将mapp.xml文件打进去 

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
    <!--解决Intellij构建项目时,target/classes目录下不存在mapper.xml文件-->
    <resources>
        <resource>
            <directory>${basedir}/src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>${basedir}/src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

3.application.properties添加相关配置

#mysql
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/jiyu?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC
#这个serverTimezone=UTC 解决时区问题
spring.datasource.username = root
spring.datasource.password = 123456
#mybatis
mybatis.config-location=classpath:conf/mybatis-config.xml
mybatis.mapper-locations=classpath*:cn/mufeng/dal/*.mapper.xml

#指定了mybatis基础配置文件和实体类映射文件的地址
#下面的是mybatis-config.xml 配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
   <typeAliases>
      <typeAlias alias="Integer" type="java.lang.Integer" />
      <typeAlias alias="Long" type="java.lang.Long" />
      <typeAlias alias="HashMap" type="java.util.HashMap" />
      <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />
      <typeAlias alias="ArrayList" type="java.util.ArrayList" />
      <typeAlias alias="LinkedList" type="java.util.LinkedList" />
   </typeAliases>
</configuration>

4.在启动类中添加对mapper包扫描@MapperScan

@SpringBootApplication
@MapperScan("cn.mufeng.dal")
public class SpringBootMybatisXmlApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootMybatisXmlApplication.class, args);
    }

}

5.建一个实体类

public class VideoEntity implements Serializable {

   private static final long serialVersionUID = 1L;
   private String id;
   private String videoName;
   private String videoUrl;

   public VideoEntity() {
      super();
   }

   public VideoEntity(String videoName, String videoUrl) {
      super();
      this.videoUrl = videoUrl;
      this.videoName = videoName;
   }

   public String getId() {
      return id;
   }

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

   public String getVideoName() {
      return videoName;
   }

   public void setVideoName(String videoName) {
      this.videoName = videoName;
   }

   public String getVideoUrl() {
      return videoUrl;
   }

   public void setVideoUrl(String videoUrl) {
      this.videoUrl = videoUrl;
   }


   @Override
   public String toString() {
      // TODO Auto-generated method stub
      return "videoName " + this.videoName + ", videoUrl " + this.videoUrl ;
   }

}

6.建一个mapper 接口 (dal层)

public interface VideoMapper {
    List<VideoEntity> getAll();
    VideoEntity getOne(Long id);

    void insert(VideoEntity video);

    void update(VideoEntity video);

    void delete(Long id);

}

7.建一个xml(添加VideoMapper 的映射文件) 注意<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > 这个引用  

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.mufeng.dal.VideoMapper">
   <resultMap id="BaseResultMap" type="cn.mufeng.entity.VideoEntity">
       
   </resultMap>
    <sql id="Base_Column_List" >
        id, videoName, videoUrl
    </sql>

    <select id="getAll" resultMap="BaseResultMap"  >
        SELECT
        <include refid="Base_Column_List" />
        FROM video
    </select>

    <select id="getOne" parameterType="java.lang.Long" resultMap="BaseResultMap" >
        SELECT
        <include refid="Base_Column_List" />
        FROM video
        WHERE id = #{id}
    </select>

    <insert id="insert" parameterType="cn.mufeng.entity.VideoEntity" >
        <selectKey keyProperty="id" resultType="String" order="BEFORE">
            select uuid()
        </selectKey>
        insert into video(id, videoName, videoUrl)
        values(#{id},#{videoName},#{videoUrl})
    </insert>

    <update id="update" parameterType="cn.mufeng.entity.VideoEntity" >
        UPDATE
        video
        SET
        <if test="videoName != null and videoName != ''">userName = #{videoName},</if>
        <if test="videoUrl != null">passWord = #{videoUrl}</if>

        WHERE
        id = #{id}
    </update>

    <delete id="delete" parameterType="java.lang.Long" >
       DELETE FROM
               video 
       WHERE 
               id = #{id}
    </delete>
</mapper>
8.新加一个Controller
@RestController
public class VideoController {

    @Autowired
    private VideoMapper videoMapper;

    @RequestMapping("/getVideos")
    public List<VideoEntity> getVideos() {
        List<VideoEntity> videos = videoMapper.getAll();
        return videos;
    }

    @RequestMapping("/getVideo/{id}")
    public VideoEntity getVideo(@PathVariable("id") Long id) {
        VideoEntity video = videoMapper.getOne(id);
        return video;
    }


    @RequestMapping("/add")
    public void save(VideoEntity video) {
        videoMapper.insert(video);
    }

    @RequestMapping(value = "update")
    public void update(VideoEntity video) {
        videoMapper.update(video);
    }

    @RequestMapping(value = "/delete/{id}")
    public void delete(@PathVariable("id") Long id) {
        videoMapper.delete(id);
    }
    
}

9.我的sql

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for video
-- ----------------------------
DROP TABLE IF EXISTS `video`;
CREATE TABLE `video`  (
  `id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键id',
  `videoName` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '名称',
  `videoUrl` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '地址',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of video
-- ----------------------------
INSERT INTO `video` VALUES ('1', '测试url', 'https://cloud.video.taobao.com/play/u/2577498496/p/1/e/6/t/1/50016620184.mp4');

SET FOREIGN_KEY_CHECKS = 1;
10.启动项目访问url

http://localhost:8080/getVideos

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
SpringBoot中使用XML方式整合MyBatis的步骤如下: 1. 配置全局的MyBatis配置文件,在src/main/resources目录下创建mybatis文件夹,并创建sqlMapConfig.xml配置文件。在该文件中可以进行一些MyBatis的全局配置。 2. 创建SpringBoot的核心配置文件application.properties,在src/main/resources目录下创建application.properties文件。在该文件中配置数据库的连接参数以及MyBatis框架的mapper映射文件和全局配置文件的路径。 3. 配置mybatis的全局配置文件路径,通过在application.properties文件中指定mybatis.config-location属性为classpath:mybatis/sqlMapConfig.xml。 4. 配置mapper映射文件的路径,通过在application.properties文件中指定mybatis.mapper-locations属性为classpath:mybatis/mapper/*.xml。 上述步骤可以实现SpringBootMyBatisXML方式整合。在全局配置文件中可以进行一些MyBatis的配置,而mapper映射文件可以指定在指定路径下。 需要注意的是,文件命名需要规范,并且在application.properties文件中的配置路径需要正确指定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringBoot整合Mybatis方式1:使用XML方式整合Mybatis(添加数据、修改数据、删除数据、查询数据)](https://blog.csdn.net/blbyu/article/details/127994902)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Spring Boot整合MyBatis框架(XML文件)](https://blog.csdn.net/weixin_43978412/article/details/100563987)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值