springboot了解mysql_spring boot和mysql的基本使用(轻松了解接口)

数据库启动后开始 #代表注释

在application.yml文件中绑定你的本地数据库

#(DBName代表数据库中名称)

spring:

datasource:

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

url: jdbc:mysql://localhost:3306/DBName?characterEncoding=UTF-8&serverTimezone=GMT%2B8

username: root

password: password

#(classpath:sqlmapper/*.xml代表你在springboot中的sql的语句,sqlmapper是放mapper.xml的包名,注意空格是必须要有这是yml文件识别的一直样式)

mybatis:

typeAliasesPackage: com.app.demoapp.entiy

mapperLocations: classpath:mapper/*.xml

2.你在springboot中的sql的语句(classpath:sqlmapper/*.xml的XML文件)#代表注释

#(每个语句中 id=“方法名”中的方法名必须在UserDao中存在这个方法;parameterType代表输入的实体类,resultType代表输出的实体类)

select *

from `user`

where user_name = #{user_name,jdbcType=VARCHAR}

and user_pass=#{user_pass,jdbcType=VARCHAR}

3.在1和2中都是资源文件中的 UserDao

@Mapper

public interface UserDao {

User login(User user);

}

4.实体类User

public class User {

String user_name;

String user_pass;

int user_id;

public String getUser_name() {

return user_name;

}

public void setUser_name(String user_name) {

this.user_name = user_name;

}

public String getUser_pass() {

return user_pass;

}

public void setUser_pass(String user_pass) {

this.user_pass = user_pass;

}

public int getUser_id() {

return user_id;

}

public void setUser_id(int user_id) {

this.user_id = user_id;

}

}

6.在DemoApplication中加@MapperScan("com.meapp.dao")声明dao存在包的位置

@SpringBootApplication

@MapperScan("com.app.demoapp.dao")

public class DemoApplication {

public static void main(String[] args) {

SpringApplication.run(DemoApplication.class, args);

}

}

7.这个是返回值的基本样式

@JsonInclude(JsonInclude.Include.NON_NULL)

public class ApiResult {

/** 代码 */

private int code = 0;

/** 消息 */

private String msg;

/** 数据 */

private T data;

public ApiResult(ApiResult origin) {

this.code = origin.code;

this.msg = origin.msg;

this.data = origin.data;

}

public ApiResult() {

}

public ApiResult(T data) {

this.data = data;

}

/**

* 获取 数据列表

*

* @return data 数据列表

*/

public T getData() {

return this.data;

}

/**

* 设置 数据列表

*

* @param data 数据列表

*/

public void setData(T data) {

this.data = data;

}

/**

* 获取 代码

*

* @return code 代码

*/

public int getCode() {

return this.code;

}

/**

* 设置 代码

*

* @param code 代码

*/

public void setCode(int code) {

this.code = code;

}

/**

* 获取 消息

*

* @return msg 消息

*/

public String getMsg() {

return this.msg;

}

/**

* 设置 消息

*

* @param msg 消息

*/

public void setMsg(String msg) {

this.msg = msg;

}

}

8.返回值的样式

@SuppressWarnings("unchecked")

public class ApiResultBuilder {

private ApiResult target;

private ApiResultBuilder() {

this.target = new ApiResult();

}

public static ApiResultBuilder create() {

return new ApiResultBuilder();

}

public ApiResultBuilder code(int code) {

target.setCode(code);

return this;

}

public ApiResultBuilder msg(String msg) {

target.setMsg(msg);

return this;

}

public ApiResultBuilder data(Object data) {

target.setData(data);

return this;

}

public ApiResult build() {

return new ApiResult(target);

}

}

9.最后的胜利接口的写法

@RestController

@EnableAutoConfiguration

@RequestMapping("/user")

public class Login {

@Autowired

UserDao mUserDao;

@PostMapping(value = "/login")

@ResponseStatus(code = HttpStatus.OK)

public ApiResult login(@RequestParam(required = true) String name,

@RequestParam(required = true) String pass){

User model = new User();

model.setUser_name(name);

model.setUser_pass(pass);

User resultUser = mUserDao.login(model);

return ApiResultBuilder.create().code(1).msg("登录成功").data(resultUser).build();

}

@PostMapping(value = "/info")

@ResponseStatus(code = HttpStatus.OK)

public ApiResult getInfo(@RequestBody LoginModel model1){

LoginModel model = new LoginModel();

model.setName("new123456");

model.setPass("222");

model.setToken("123456");

model.setIsNull("");

return ApiResultBuilder.create().code(1).msg("登录成功").data(model).build();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值