Java 学习之路 -Hello World 集成 Mybatis-Plus 访问数据库

本贴最后更新于 1709 天前,其中的信息可能已经渤澥桑田

目标

创建 Spring Boot 项目,集成 Mybatis-Plus,访问数据库表,并返回数据

准备事项

环境:IDEA ,Java SDK,MySql,Navicat Premium 12

自身:有一定的编程基础,主攻语言精通(因为会跳过很多环境的环节)

环境的安装百度上一堆,自行百度安装即可

Hello World

项目创建请看这篇文章 https://blog.csdn.net/qq_36379495/article/details/82456754

创建完毕-创建 controller 文件夹-创建 HelloController 如图

启动项目-访问 http://localhost:8080/hello?Name=ambre

集成 MyBatis-Plus

pom.xml

 <dependency>

            <groupId>com.baomidou</groupId>

            <artifactId>mybatis-plus-boot-starter</artifactId>

            <version>3.1.2</version>

        </dependency>

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

        </dependency>
        <dependency>

            <groupId>com.baomidou</groupId>

            <artifactId>mybatis-plus-generator</artifactId>

            <version>3.1.2</version>

        </dependency>

        <dependency>

            <groupId>org.apache.velocity</groupId>

            <artifactId>velocity-engine-core</artifactId>

            <version>2.1</version>

        </dependency>

        <dependency>

            <groupId>org.freemarker</groupId>

            <artifactId>freemarker</artifactId>

            <version>2.3.28</version>

        </dependency>

src/main/resources -添加 application.yml 文件

spring:

  datasource:

    driver-class-name: com.mysql.jdbc.Driver

    url: jdbc:mysql://0.0.0.0:3306/klearn

    username: 1

    password: 1

  jpa:

    database: MySQL

    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect

    show-sql: true

    hibernate:

      ddl-auto: update



mybatis-plus:

  # 如果是放在src/main/java目录下 classpath:/com/yourpackage/*/mapper/*Mapper.xml

  # 如果是放在resource目录 classpath:/mapper/*Mapper.xml

  mapper-locations: classpath:/mapper/*Mapper.xml

  #实体扫描,多个package用逗号或者分号分隔

  typeAliasesPackage: com.yourpackage.*.entity

  configuration:

    #配置返回数据库(column下划线命名&&返回java实体是驼峰命名),自动匹配无需as(没开启这个,SQL需要写as: select user_id as userId)

    map-underscore-to-camel-case: true

    cache-enabled: false

    #配置JdbcTypeForNull, oracle数据库必须配置

    jdbc-type-for-null: 'null'

访问数据库

项目结构推荐

  • controller

  • entity

  • dto

  • mapper

  • messaging

  • service

  • impl

    增加 entity

package estart.klearn.ambre.auth.entity;



import lombok.Data;

import lombok.EqualsAndHashCode;

import lombok.experimental.Accessors;



import javax.persistence.Version;

import java.io.Serializable;



/**

 * <p>

 * 

 * </p>

 *

 * @author ambre

 * @since 2019-08-09

 */

@Data

@EqualsAndHashCode(callSuper = false)

@Accessors(chain = true)

public class Role implements Serializable {



    private static final long serialVersionUID = 1L;



    private String id;



    private String remark;



    private String roleName;



    private String createTime;



    private String lastChangeTime;



    @Version

    private Integer version;


}


####增加Mapper
package estart.klearn.ambre.auth.mapper;



import estart.klearn.ambre.auth.entity.Role;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;



/**

 * <p>

 *  Mapper 接口

 * </p>

 *

 * @author ambre

 * @since 2019-08-09

 */

public interface RoleMapper extends BaseMapper<Role> {
}


####增加IRoleService
package estart.klearn.ambre.auth.service;



import estart.klearn.ambre.auth.entity.Role;

import com.baomidou.mybatisplus.extension.service.IService;



/**

 * <p>

 *  服务类

 * </p>

 *

 * @author ambre

 * @since 2019-08-09

 */

public interface IRoleService extends IService<Role> {



}


#### 增加RoleService
package estart.klearn.ambre.auth.service.impl;



import estart.klearn.ambre.auth.entity.Role;

import estart.klearn.ambre.auth.mapper.RoleMapper;

import estart.klearn.ambre.auth.service.IRoleService;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

import org.springframework.stereotype.Service;



/**

 * <p>

 *  服务实现类

 * </p>

 *

 * @author ambre

 * @since 2019-08-09

 */

@Service

public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IRoleService {



}


#### 最外层的XXXApplication增加MapperScan
package estart.klearn.ambre;



import org.mybatis.spring.annotation.MapperScan;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;



@SpringBootApplication

@MapperScan("estart.klearn.ambre.*.mapper")  //按照直接的mapper文件夹写路径,否则注入不进去

public class AmbreApplication {



    public static void main(String[] args) {

        SpringApplication.run(AmbreApplication.class, args);

    }



}


#### 增加控制器
package estart.klearn.ambre.auth.controller;





import estart.klearn.ambre.auth.entity.Role;

import estart.klearn.ambre.auth.service.IRoleService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.RestController;



/**

 * <p>

 *  前端控制器

 * </p>

 *

 * @author ambre

 * @since 2019-08-09

 */

@RestController

@RequestMapping("/auth/role")

public class RoleController {

    @Autowired

    private IRoleService service;



    @RequestMapping("/get")

    public Role GetRole(@RequestParam Integer Id){

        return  service.getById(Id);

    }

}


然后数据库建表,随便弄一条数据

启动项目

OK 完成目标~

下一篇写如何实现 Code First + Mybatis - Plus 代码生成

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3167 引用 • 8207 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    940 引用 • 1458 回帖 • 158 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...