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

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

目标

创建 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 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3194 引用 • 8214 回帖
  • Spring

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

    946 引用 • 1460 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

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