栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springBoot之SSM技术整合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springBoot之SSM技术整合

学习目标:

1.springboot搭建

2.MBG逆向工程

3.SSM开发

4.集成PageHelper

5.集成通用Mapper


一、SpringBoot搭建 ①建模

阿里云网站: 

https://start.aliyun.comhttps://start.aliyun.com

Spring Web:集成ssm环境,搭服务器;

MyBatis framework:集成MyBatis;

MySQL Driver:数据库;

 ②yml文件

server:
  port: 8080

 二、MBG逆向工程 ①连接数据库

 

 
 ②逆向生成器代码 1.导入依赖



    org.mybatis.generator
    mybatis-generator-core
    1.3.7



    org.mybatis.generator
    mybatis-generator-maven-plugin
    1.3.7
    
        
        
        

        true
        true
    

2.导入配置文件

在resource包内:

Generator.properties:

userSSL意思是非加密的;serverTimezone:时区;useUnicode:防止乱码;allowPublicKeyRetrieval:允许加密访问

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/boot?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=123456----mysql密码
jdbc.driverLocation=F:\maven\jar\mysql\mysql-connector-java\8.0.25\mysql-connector-java-8.0.25.jar----mysql驱动地址

model.package=com.xhy.code.entity
mapper.package=com.xhy.code.mapper
xml.mapper.package=mapper

generatorConfig.xml:





    
    
    
    
        
        
        
        
        
        
            
        
        
        
             
             
        

        
        
            
            
        

        
        
            
        

        
        

        
        

        
        

        
            
            
            
            
            
            
            
            
            
            
        
3.生成表对象上的注解以及文档上的注释

在Java包内新建软件包,包名与此一致org.mybatis.generator.plugins

package org.mybatis.generator.plugins;
 
import lombok.extern.slf4j.Slf4j;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.Plugin;
import org.mybatis.generator.api.PluginAdapter;
import org.mybatis.generator.api.dom.java.*;
 
import java.time.LocalDateTime;
import java.util.List;
 

@Slf4j
public class MyBatisPlugin extends PluginAdapter {
 
    @Override
    public boolean validate(List list) {
        return true;
    }
 
//    生成类上面的注释
    @Override
    public boolean modelbaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
        boolean hasLombok = Boolean.parseBoolean(getProperties().getProperty("hasLombok", "false"));
        log.warn("hasLombok:t" + hasLombok);
        if (hasLombok) {
            topLevelClass.addimportedType("lombok.Data");
            topLevelClass.addimportedType("lombok.NoArgsConstructor");
            topLevelClass.addimportedType("lombok.AllArgsConstructor");
            topLevelClass.addimportedType("lombok.experimental.Accessors");
            topLevelClass.addAnnotation("@Data");
            topLevelClass.addAnnotation("@NoArgsConstructor");
            topLevelClass.addAnnotation("@AllArgsConstructor");
            topLevelClass.addAnnotation("@Accessors(chain = true)");
        }
        topLevelClass.addJavaDocLine("");
        return true;
    }
 
//    生成在每个字段上面的注释
    @Override
    public boolean modelFieldGenerated(Field field, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {
        field.addJavaDocLine("");
        return true;
    }
 
//    生成接口注解
    @Override
    public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
        interfaze.addimportedType(new FullyQualifiedJavaType("org.apache.ibatis.annotations.Mapper"));
        interfaze.addAnnotation("@Mapper");
        interfaze.addimportedType(new FullyQualifiedJavaType("org.springframework.stereotype.Repository"));
        interfaze.addAnnotation("@Repository");
        interfaze.addJavaDocLine("");
        return true;
    }
 
//    模型是否需要生成set方法
    @Override
    public boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {
        boolean hasLombok = Boolean.parseBoolean(getProperties().getProperty("hasLombok", "false"));
        return !hasLombok;
    }
 
//    模型是否需要生成get方法
    @Override
    public boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {
        boolean hasLombok = Boolean.parseBoolean(getProperties().getProperty("hasLombok", "false"));
        return !hasLombok;
    }
 
}

4.将这个类的编译文件丢到pom.xml文件所指的mybatis-generator-core文件内相应版本的jar包里面去:

首先执行一下文件,获得编译文件:

将此文件丢到本地仓库中:F:mavenjarorgmybatisgeneratormybatis-generator-core1.3.7

 

 

5.点击逆向生成代码

 ③配置数据源、mybatis

application.yml文件:

server:
  port: 8080
spring:
  datasource:
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/eshop?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true
mybatis:
  config-location: classpath*:mapper/*.xml
  type-aliases-package: com.xhy.code.entity
  configuration:
    map-underscore-to-camel-case: true
4、查询表数据

StudentMapper.java:

package com.xhy.code.mapper;

import com.xhy.code.entity.Student;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface StudentMapper {
    int deleteByPrimaryKey(Long stuId);

    int insert(Student record);

    int insertSelective(Student record);

    Student selectByPrimaryKey(Long stuId);

    int updateByPrimaryKeySelective(Student record);

    int updateByPrimaryKey(Student record);


    Listselect();
}

StudentMapper.xml:




  
    
    
    
    
    
  
  
    student.stu_id as student_stu_id, student.stu_name as student_stu_name, student.stu_phone as student_stu_phone, 
    student.stu_class as student_stu_class, student.stu_address as student_stu_address
  

  
    select 
    
    from student student
    where student.stu_id = #{stuId,jdbcType=BIGINT}
  
  
    delete from student
    where stu_id = #{stuId,jdbcType=BIGINT}
  
  
    insert into student (stu_name, stu_phone, stu_class, 
      stu_address)
    values (#{stuName,jdbcType=VARCHAR}, #{stuPhone,jdbcType=VARCHAR}, #{stuClass,jdbcType=BIGINT}, 
      #{stuAddress,jdbcType=VARCHAR})
  
  
    insert into student
    
      
        stu_name,
      
      
        stu_phone,
      
      
        stu_class,
      
      
        stu_address,
      
    
    
      
        #{stuName,jdbcType=VARCHAR},
      
      
        #{stuPhone,jdbcType=VARCHAR},
      
      
        #{stuClass,jdbcType=BIGINT},
      
      
        #{stuAddress,jdbcType=VARCHAR},
      
    
  
  
    update student
    
      
        stu_name = #{stuName,jdbcType=VARCHAR},
      
      
        stu_phone = #{stuPhone,jdbcType=VARCHAR},
      
      
        stu_class = #{stuClass,jdbcType=BIGINT},
      
      
        stu_address = #{stuAddress,jdbcType=VARCHAR},
      
    
    where stu_id = #{stuId,jdbcType=BIGINT}
  
  
    update student
    set stu_name = #{stuName,jdbcType=VARCHAR},
      stu_phone = #{stuPhone,jdbcType=VARCHAR},
      stu_class = #{stuClass,jdbcType=BIGINT},
      stu_address = #{stuAddress,jdbcType=VARCHAR}
    where stu_id = #{stuId,jdbcType=BIGINT}
  

测试:SpringBoot03ApplicationTests.java

package com.xhy.code;

import com.xhy.code.mapper.StudentMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import javax.sql.DataSource;

@SpringBootTest
class Springboot03ApplicationTests {
@Autowired
    DataSource dataSource;
@Autowired
     StudentMapper mapper;
    @Test
    void contextLoads() throws Exception{
        System.out.println(dataSource);
        System.out.println(dataSource.getConnection());
        System.out.println( mapper.select());


    }

}

三、SSM开发

 

`

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/732940.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号