springboot+mybatis+mysql新手练手


上周用vue把前台搭建完成,这几天想试试springboot访问数据库,好在终于实现了,挺有成就感。

idea整体架构

部分代码

application.yml

server:
  port: 8081
#mybatis配置
mybatis:
  mapper-locations: classpath:mybatis/mapper/*.xml  #修改为对应的mapper文件路径

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8
    username: root
    password: 123456

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
"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">
    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.4.3
         
    
    com.example
    demo
    0.0.1-SNAPSHOT
    demo
    Demo project for Spring Boot
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            mysql
            mysql-connector-java
            runtime
        

        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.1
        

        
        
            org.projectlombok
            lombok
            1.16.16
            provided
        


        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
        
            org.xmlunit
            xmlunit-core
        
        
            org.mybatis
            mybatis
            3.4.6
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

User

@Data // get/set 方法
@AllArgsConstructor//有参构造器
@NoArgsConstructor//无参构造器
@Table(name = "User")
public class User {
    private String cId;
    private String cUsername;

    private String cPwd;

    public String getcUsername() {
        return cUsername;
    }

    public void setcUsername(String cUsername) {
        this.cUsername = cUsername;
    }

    public String getcPwd() {
        return cPwd;
    }

    public void setcPwd(String cPwd) {
        this.cPwd = cPwd;
    }

    public String getcId() {
        return cId;
    }

    public void setcId(String cId) {
        this.cId = cId;
    }
}

CorsConfig(解决跨域)
@Configuration
public class CorsConfig {
    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOriginPattern("*");//允许任何域名
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        corsConfiguration.setAllowCredentials(true);
        return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig());
        return new CorsFilter(source);

    }

UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
"-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
namespace="com.example.demo.mapper.UserMapper">
    <select id="queryAll" resultType="com.example.demo.bean.User">
  select * from users
 select>
    "add" parameterType="com.example.demo.bean.User">
  insert into users values (#{username},#{password})
 
    <select id="queryByUsername" resultType="com.example.demo.bean.User">
  select * from users where cUsername=#{username}
 select>

总结下思路
1、idea创建springboot项目
2、引入mybatis包到pom.xml
3、mysql创建表
4、搭建mybatis访问数据库环境,写yml文件

需要代码留下邮箱