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

Spring Boot 实战 :入门篇,阿里java电话面试题

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

Spring Boot 实战 :入门篇,阿里java电话面试题

spring-boot-starter-thymeleaf

org.springframework.boot

spring-boot-starter-web

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.0.1

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.1.1

mybatis-spring

org.mybatis

org.mybatis

mybatis-spring

1.3.2

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-devtools

true

tk.mybatis

mapper-spring-boot-starter

tk.mybatis

mapper

4.0.0

org.projectlombok

lombok

log4j

log4j

1.2.17

com.google.code.gson

gson

2.8.5

org.jdom

jdom2

2.0.6

org.springframework.boot

spring-boot-maven-plugin

然后再配置 application.properties 这个地方也有朋友喜欢用 yml 但是不巧这里就先只配置了 properties 的

自定义端口号 默认为 8080

server.port = 8080

添加 MySQL 数据库配置 127.0.0.1 作用和 localhost 一样

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/boot_dome?serverTimezone=UTC&characterEncoding=UTF-8&useUnicode=true

用户名

spring.datasource.username=root

密码

spring.datasource.password=root

驱动

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

Thymeleaf 配置 模板支持 HTML XML Text Javascript

spring.thymeleaf.mode=HTML5

编码,可不用配置

spring.thymeleaf.encoding=utf-8

内容类别,可不用配置

spring.thymeleaf.content-type=text/html

开发配置为 false 避免修改模板还要重启服务器

spring.thymeleaf.cache=false

配置模板路径,默认是 templates 可以不用配置

spring.thymeleaf.prefix=classpath:/templates/

这俩都配置好了之后,最起码可以保证项目能运行了。。哦哦哦不对。。还有一个地方

也是最重要的一部分!!!就是我们项目的主类!!一般新建的项目是这个样子的

然后我们再给他加上几个注解:

@ComponentScan(basePackages = “com.cs.mybatis.*”) // 扫描主程序文件

@MapperScan(“com.cs.mybatis.mapper”) // 扫描这个包下的 Mapper 文件

@ServletComponentScan // 使用该注解后,Servlet Filter Listener 可以直接通过

最后建一个测试类,测试一下是否可以访问成功,写好测试方法之后,点击右上角绿色的三角按钮启动,上边也介绍了,SpringBoot 有内置的 Tomcat 所以不用我们来配置

@Controller // 声明这是一个 Controller 表示此类用于负责处理 Web 请求

public class TestController {

@RequestMapping(“Test”) // 如果参数链接的请求的参数相同则调用此方法

@ResponseBody // 表示这个的返回值只一个文本不是一个视图路径 通常用于接收 AJAX 请求

public String Test(){

System.out.println(“来了老弟?”);

return “Hello World”;

}

}

页面输出结果为,同时查看控台也会有提示,这里就不贴图了。。

到这里,第一部分搭建项目就算完成了下面就是集成 MyBatis 进行增删改查

----------------------------------------------------------- 分界线 -----------------------------------------------------------------------

首先我们右键 New 一个 Package 包

然后创建好,model,mapper,service,serviceimpl 大概结构就是这个样子

model 用来存放实体类

mapper 和 service 用来放接口

serviceimpl 业务逻辑层,简单来说就是实现接口业务的地方

首先,现在数据库创建一个表:

create table teacher(

id int(11) primary key auto_increment, // 主键,自增

name varchar(30) ,

age int(11)

)

然后创建 Model 层:

package com.cs.mybatis.model;

import java.io.Serializable;

import javax.persistence.Column;

import javax.persistence.Id;

import javax.persistence.Table;

import lombok.Data;

import lombok.EqualsAndHashCode;

@Data

@EqualsAndHashCode(callSuper=false)

@Table(name=“teacher”) // 数据库名对应

public class Teacher implements Serializable {

// 序列化

private static final long serialVersionUID = 1L;

@Id // 声明主键

@Column(name = “id”) // 与数据库字段名对应

private Integer id;

@Column(name = “name”)

private String name;

@Column(name = “age”)

private Integer age;

public Teacher(){

}

public Teacher(

Integer id

){

this.id = id;

}

public void setId(Integer id) {

this.id = id;

}

public Integer getId() {

return this.id;

}

public void setName(String name) {

this.name = name;

}

public String getName() {

return this.name;

}

public void setAge(Integer age) {

this.age = age;

}

public Integer getAge() {

return this.age;

}

}

Mapper 层,这个地方我们集成了一下 Tk_MyBatis 相当于一个持久层 API 用过 Jpa 的朋友应该知道这个是啥意思,一般不是特别复杂的 sql 就不用在 Mapper 层写了,Tk 就可以搞定,当然如果是复杂的 sql 例如多表联合查询等还是要在Mapper操作的,如果实在不懂用法的话,可以给我留言评论,或者加我QQ,我会在最底部留下的

想了解详细用法的朋友可以看官方文档:https://github.com/abel533/Mapper/wiki/6.example 这里我们不做过多的介绍

package com.cs.mybatis.mapper;

import com.cs.mybatis.base.baseMapper;

import com.cs.mybatis.model.Teacher;

import org.springframework.stereotype.Component;

@Component

public interface TeacherMapper extends baseMapper { // 这个地方我们调用的 Tk_MyBatis 持久层 API

}

Service 层,这个就照常写就可以了

package com.cs.mybatis.service;

import com.cs.mybatis.model.Teacher;

import java.util.List;

public interface TeacherService{

List selectAll();

Integer insertSelective(Teacher teacher);

}

ServiceImpl 实现类,这个地方调用我们的 Mapper 虽然我们 Mapper 没有写东西,但是由于我们的 Mapper 继承了 Tk_MyBatis 里面的属性,所以可以直接调用简单的单表查询的方法

package com.cs.mybatis.service.impl;

import com.cs.mybatis.mapper.TeacherMapper;

import com.cs.mybatis.model.Teacher;

import com.cs.mybatis.service.TeacherService;

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

import org.springframework.stereotype.Service;

import java.util.List;

@Service

public class TeacherServiceImpl implements TeacherService {

@Autowired // 自动装配 Bean

TeacherMapper teacherMapper;

@Override

public List selectAll() {

return teacherMapper.selectAll();

}

/**

  • @title: 新增

  • @param: teacher

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

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

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