java j简单的登入接口_简单的登陆注册接口

pom.xml

注入要用到的依赖

web

org.springframework.boot

spring-boot-starter-web

jdbc

org.springframework.boot

spring-boot-starter-jdbc

mysql-connector-java

mysql

mysql-connector-java

runtime

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.3.1

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.example

springboot_mybatis

0.0.1-SNAPSHOT

jar

springboot_mybatis

Demo project for Spring Boot

org.springframework.boot

spring-boot-starter-parent

2.0.0.RELEASE

UTF-8

UTF-8

1.8

org.springframework.boot

spring-boot-starter-jdbc

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.3.1

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

User实体类

packagecom.example.springboot_mybatis.user;importorg.springframework.stereotype.Repository;

@Repositorypublic classUser {private int id_ = 0;private String username = "";private String password = "";public intgetId_() {returnid_;

}public void setId_(intid_) {this.id_ =id_;

}publicString getUsername() {returnusername;

}public voidsetUsername(String username) {this.username =username;

}publicString getPassword() {returnpassword;

}public voidsetPassword(String password) {this.password =password;

}

}

UserMapper.java mybatis sql映射

packagecom.example.springboot_mybatis.mapper.user;importcom.example.springboot_mybatis.user.User;import org.apache.ibatis.annotations.*;importorg.apache.ibatis.type.JdbcType;//使用注释配置映射的sql语句,这样可以省掉映射器xml文件

@Mapperpublic interfaceUserMapper {

@Select("select * from user_info where username=#{username}")publicUser getByusername(String username);/*id id标识

value 值,内值的配置

property 变量名

column 对应数据库列名

javaType 变量类型

jdbcType 对应数据字段类型

id 是否主键*/@Results(id= "1",value ={

@Result(property= "id_",column = "id_",javaType = String.class,jdbcType = JdbcType.VARCHAR,id = true),

@Result(property= "username",column = "username",javaType = String.class,jdbcType =JdbcType.VARCHAR),

@Result(property= "password",column = "password",javaType = String.class,jdbcType =JdbcType.VARCHAR)

})

@Insert("insert into user_info(username,password) values(#{username},#{password})")/*useGeneratedKeys=true,MyBatis会使用JDBC的getGeneratedKeys方法来取出由数据库内部生成的主键

keyProperty 变量名

keyColumn 对应数据库列名*/@Options(useGeneratedKeys=true,keyColumn="id_",keyProperty="id_")//设置id自增长

public voidregister(User user);

@Update({"update user_info ","set password = #{password}","where username = #{username}"})public intupdate(User user);

@Delete("delete from user_info where id_ = #{id_} and username = #{username}}")public intdelete(User user);

}

UserService.java 实现UserMapper

packagecom.example.springboot_mybatis.mapper.user;importcom.example.springboot_mybatis.user.User;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;//声明Bean,声明UserService类是Spring管理的一个Bean

@Servicepublic classUserService {/*注入Bean,把UserMapper的实体Bean注入到UserService中

required=false,找不到匹配Bean时也不报错

以后用的时候就不用自己new对象,对象由spring管理

按类型进行*/@Autowired(required=false)privateUserMapper userMapper;publicUser getByusername(String username){returnuserMapper.getByusername(username);

}public voidregister(User user){

userMapper.register(user);

}public intupdate(User user) {returnuserMapper.update(user);

}public intdelete(User user) {returnuserMapper.delete(user);

}

}

UserController

@Controller

@ResponseBodypublic classUserController {/*注入bean,按名称进行

以后用的时候就不用自己new对象,对象由spring管理*/@ResourceprivateUserService userService;/*@RequestMapping注释

定义Controller方法对应的映射url

value 访问相对地址

method 访问方式*/@RequestMapping(value= "/login", method =RequestMethod.POST)publicLoginRespond login(@RequestBody LoginAccept loginAccept){

LoginRespond loginRespond= newLoginRespond();

Login login= newLogin();returnlogin.login(loginAccept,loginRespond,userService);

}

@RequestMapping(value= "/register", method =RequestMethod.POST)publicRegisterRespond register(@RequestBody RegisterAccept registerAccept){

RegisterRespond registerRespond= newRegisterRespond();

Register register= newRegister();returnregister.register(registerAccept,registerRespond,userService);

}

@RequestMapping(value= "/update", method =RequestMethod.POST)publicUpdateRespond updateRespond(@RequestBody UpdateAccept updateAccept){

UpdateRespond updateRespond= newUpdateRespond();

Update update= newUpdate();returnupdate.update(updateAccept,updateRespond,userService);

}

}

LoginAccept

public class LoginAccept implementsAccept{private String id = "";privateUser data;publicUser getData() {returndata;

}public voidsetData(User data) {this.data =data;

}//表明该方法需要重写,方便阅读

@OverridepublicString getId() {returnid;

}

@Overridepublic voidsetId(String id) {this.id =id;

}

}

LoginRespondData

public classLoginRespondData {privateString Islogin;publicString getIslogin() {returnIslogin;

}public voidsetIslogin(String islogin) {

Islogin=islogin;

}

}

LoginRespond

public class LoginRespond implementsRespond{private String id = "";privateState state;privateLoginRespondData data;

@OverridepublicString getId() {returnid;

}

@Overridepublic voidsetId(String id) {this.id =id;

}publicState getState() {returnstate;

}public voidsetState(State state) {this.state =state;

}publicLoginRespondData getData() {returndata;

}public voidsetData(LoginRespondData data) {this.data =data;

}

}

Login

public classLogin {publicLoginRespond login(LoginAccept loginAccept,LoginRespond loginRespond,UserService userService){

loginRespond.setId(loginAccept.getId());

State state= newState();

LoginRespondData loginRespondData= newLoginRespondData();

User user_accept=loginAccept.getData();int id_ = 0;

String password_= "";

User user_sql=userService.getByusername(user_accept.getUsername());try{

id_=user_sql.getId_();

}catch(NullPointerException e){

state.setMsg("该用户不存在或密码错误");

loginRespondData.setIslogin("N");

}try{

password_=user_sql.getPassword();

}catch(NullPointerException e){

state.setMsg("该用户不存在或密码错误");

loginRespondData.setIslogin("N");

}if(password_.equals(user_accept.getPassword())){

state.setMsg("操作成功");

loginRespondData.setIslogin("Y");

}else{

state.setMsg("该用户不存在或密码错误");

loginRespondData.setIslogin("N");

}

loginRespond.setState(state);

loginRespond.setData(loginRespondData);returnloginRespond;

}

}

注册 略

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值