目标
创建 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 代码生成
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于