前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot整合MyBatis

SpringBoot整合MyBatis

作者头像
CBeann
发布2023-12-25 16:17:09
1280
发布2023-12-25 16:17:09
举报
文章被收录于专栏:CBeann的博客CBeann的博客

环境

1 MySQL

2 Spring Tool Suite ,和Eclipse操作差不多,但是不推荐用Eclipse

构建项目(第一种方式:无***Mapper.xml)

新建项目

File ----->New ----->Spring Starter Project

生成的pom.xml如下所示

代码语言:javascript
复制
<?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 http://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>1.5.18.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>MyBatisDemo2</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.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

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

</project>

修改下面的application配置文件

代码语言:javascript
复制
######################################
###spring datasource
######################################
spring.datasource.url=jdbc:mysql://47.105.132.96:3306/trainproject
spring.datasource.username=admin
spring.datasource.password=admin
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

创建实体类

代码语言:javascript
复制
package com.example.demo;

public class UserType {

	private Integer id;

	private String name;

	public Integer getId() {
		return id;
	}

    //getter  setter  构造方法  toString

}

编写mapper层,就是dao层(敲黑板,重点来了)

添加注解@Mapper

在方法上添加注解,根据你的需求,这里以select为例子

希望在操作的时候实体类和数据库字段名一致,可以减少一些古怪的错误

代码语言:javascript
复制
package com.example.demo;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface UserTypeMapper {
	
	@Select("select id,name from userType where id = #{id}")
	public UserType selectById(Integer id);

}

编写控制层Controller

将mapper注入到controller中,访问/hello会在控制台打印选择的信息

代码语言:javascript
复制
package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {
	
	@Autowired
	private UserTypeMapper userTypeMapper;
	
	@RequestMapping("/hello")
	@ResponseBody
	public String hello(){
		System.out.println(userTypeMapper);
		System.out.println(userTypeMapper.selectById(1));
		return "hello";
	}

}

运行项目名称的类

构建项目(第二种方式:有***Mapper.xml)

注意mapper.xml的位置,注意mapper.xml的位置,注意mapper.xml的位置

修改application.properties配置文件

代码语言:javascript
复制
######################################
###spring datasource
######################################
spring.datasource.url=jdbc:mysql://47.105.132.96:3306/trainproject
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver


######################################
###MyBatis
######################################
mybatis.mapper-locations=classpath:mapper/*Mapper.xml 

UserTypeMapper层

代码语言:javascript
复制
package com.example.demo;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface UserTypeMapper {
	
	
	public UserType selectById(Integer id);

}

运行结果

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 构建项目(第一种方式:无***Mapper.xml)
    • 新建项目
      • 生成的pom.xml如下所示
        • 修改下面的application配置文件
          • 创建实体类
            • 编写mapper层,就是dao层(敲黑板,重点来了)
              • 编写控制层Controller
                • 运行项目名称的类
                • 构建项目(第二种方式:有***Mapper.xml)
                  • 修改application.properties配置文件
                    • UserTypeMapper层
                    • 运行结果
                    相关产品与服务
                    云数据库 MySQL
                    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档