springboot + mybatis @MapKey使用

springboot + mybatis @MapKey使用

表信息:

在这里插入图片描述

entity:

public class ParentMessage implements Serializable {

    private Integer id;

    private String value;

    get set ......
}

mapper:

@Repository
public interface ParentMessageMapper {

     @MapKey("id")
     Map<Integer,ParentMessage> idKey();
}

mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.demo.mapper.ParentMessageMapper">

    <select id="idKey" resultType="Map">
        select * from mk_parentmessage;
    </select>
    
</mapper>

service:

@Service
public class ParentMessageService {

    @Autowired
    ParentMessageMapper parentMessageMapper;
    
    public Map<Integer,ParentMessage> idkEy(){

        return parentMessageMapper.idKey();
    }
}

controller:

@RestController
@RequestMapping("message")
public class MessageController {

    @Autowired
    ParentMessageService parentMessageService;
    
    @GetMapping("idkey")
    public Map idKey(){

        return parentMessageService.idkEy();
    }
}

测试结果:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Spring Boot + MyBatis + MySQL + Vue 登录页面的代码示例: 1. 前端Vue代码 ``` <template> <div class="login"> <h1>Login</h1> <form> <div> <label for="username">Username:</label> <input type="text" id="username" v-model="username" /> </div> <div> <label for="password">Password:</label> <input type="password" id="password" v-model="password" /> </div> <button @click.prevent="login">Login</button> </form> </div> </template> <script> import axios from 'axios'; export default { name: 'Login', data() { return { username: '', password: '', }; }, methods: { login() { if (!this.username || !this.password) { alert('Please enter username and password'); return; } axios.post('/api/login', { username: this.username, password: this.password, }) .then(response => { if (response.data.success) { alert('Login successful'); // Redirect to home page this.$router.push('/'); } else { alert(response.data.message); } }) .catch(error => { console.log(error); alert('Login failed'); }); }, }, }; </script> ``` 2. 后端Spring Boot代码 ``` @RestController @RequestMapping("/api") public class LoginController { @Autowired private UserService userService; @PostMapping("/login") public Map<String, Object> login(@RequestBody LoginRequest request) { User user = userService.login(request.getUsername(), request.getPassword()); if (user != null) { // Login successful Map<String, Object> result = new HashMap<>(); result.put("success", true); return result; } else { // Login failed Map<String, Object> result = new HashMap<>(); result.put("success", false); result.put("message", "Invalid username or password"); return result; } } } @Data class LoginRequest { private String username; private String password; } ``` 3. 数据库表结构 ``` CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` 4. MyBatis Mapper接口 ``` public interface UserMapper { @Select("SELECT * FROM user WHERE username = #{username} AND password = #{password}") User findByUsernameAndPassword(@Param("username") String username, @Param("password") String password); } ``` 5. UserService实现 ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User login(String username, String password) { return userMapper.findByUsernameAndPassword(username, password); } } ``` 以上是一个简单的 Spring Boot + MyBatis + MySQL + Vue 登录页面的代码示例,仅供参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值