SpringBoot整合Mybatis完成增删改查功能

1.我用的开发工具是Spring-tool-Suite。这个工具适合创建Spting类型的项目。(这篇文章开头有使用介绍:http://blog.csdn.net/baidu_36216018/article/details/79461016;使用IDEA工具也行,)

2.创建一个项目:

① new--->Spring Stater project


③:搜索需要的依赖包

④:我们发现上一步选择的依赖,在pom.xml文件中 已经自动添加到我们的文件中了。


2. 开始编写代码和一些配置

先看一下我的项目的最后目录结构:



①:自己创建一个数据表  字段为id , name, password ,number 四个字段   id为int类型,其他的都为String类型。

在src/main/java目录下添加controller层,entity层,mapper层,service层

entity层的实体类User:


   
   
  1. package com.example.demo.entity;
  2. public class User {
  3. private int id;
  4. private String name;
  5. private String password;
  6. private String number;
  7. public int getId() {
  8. return id;
  9. }
  10. public void setId(int id) {
  11. this.id = id;
  12. }
  13. public String getName() {
  14. return name;
  15. }
  16. public void setName(String name) {
  17. this.name = name;
  18. }
  19. public String getPassword() {
  20. return password;
  21. }
  22. public void setPassword(String password) {
  23. this.password = password;
  24. }
  25. public String getNumber() {
  26. return number;
  27. }
  28. public void setNumber(String number) {
  29. this.number = number;
  30. }
  31. @Override
  32. public String toString() {
  33. return "User [id=" + id + ", name=" + name + ", password=" + password + ", number=" + number + "]";
  34. }
  35. }

mapper层的UserMapper类:


   
   
  1. package com.example.demo.mapper;
  2. import java.util.List;
  3. import org.apache.ibatis.annotations.Mapper;
  4. import com.example.demo.entity.User;
  5. @Mapper
  6. public interface UserMapper {
  7. List<User> findUserByName(String name);
  8. public List<User> ListUser();
  9. public int insertUser(User user);
  10. public int delete(int id);
  11. public int Update(User user);
  12. }

service层的实现类Userservice:


   
   
  1. package com.example.demo.service;
  2. import java.util.List;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Service;
  5. import com.example.demo.entity.User;
  6. import com.example.demo.mapper.UserMapper;
  7. @Service
  8. public class UserService {
  9. @Autowired
  10. private UserMapper userMapper;
  11. public List<User> findByName(String name) {
  12. return userMapper.findUserByName(name);
  13. }
  14. public User insertUser(User user) {
  15. userMapper.insertUser(user);
  16. return user;
  17. }
  18. public List<User> ListUser(){
  19. return userMapper.ListUser();
  20. }
  21. public int Update(User user){
  22. return userMapper.Update(user);
  23. }
  24. public int delete(int id){
  25. return userMapper.delete(id);
  26. }
  27. }
controller层 的访问类CRUD:

   
   
  1. package com.example.demo.controller;
  2. import java.util.List;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RequestMethod;
  6. import org.springframework.web.bind.annotation.ResponseBody;
  7. import org.springframework.web.bind.annotation.RestController;
  8. import com.example.demo.entity.User;
  9. import com.example.demo.service.UserService;
  10. @RestController
  11. @RequestMapping(value = "/CRUD", method = { RequestMethod.GET, RequestMethod.POST })
  12. public class CRUD {
  13. @Autowired
  14. private UserService userservice;
  15. @RequestMapping(value = "/delete", method = RequestMethod.GET)
  16. public String delete(int id) {
  17. int result = userservice.delete(id);
  18. if (result >= 1) {
  19. return "删除成功";
  20. } else {
  21. return "删除失败";
  22. }
  23. }
  24. @RequestMapping(value = "/update", method = RequestMethod.POST)
  25. public String update(User user) {
  26. int result = userservice.Update(user);
  27. if (result >= 1) {
  28. return "修改成功";
  29. } else {
  30. return "修改失败";
  31. }
  32. }
  33. @RequestMapping(value = "/insert", method = RequestMethod.POST)
  34. public User insert(User user) {
  35. return userservice.insertUser(user);
  36. }
  37. @RequestMapping( "/ListUser")
  38. @ResponseBody
  39. public List<User> ListUser(){
  40. return userservice.ListUser();
  41. }
  42. @RequestMapping( "/ListUserByname")
  43. @ResponseBody
  44. public List<User> ListUserByname(String name){
  45. return userservice.findByName(name);
  46. }
  47. }

接着:

在src/main/resources下写UserMapper的映射文件xml.

UserMapper.xml


   
   
  1. <?xml version = "1.0" encoding = "UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC
  3. "-//mybatis.org//DTD com.example.Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.example.demo.mapper.UserMapper">
  6. <resultMap id="result" type="com.example.demo.entity.User">
  7. <result property="name" column="name" />
  8. <result property="password" column="password" />
  9. <result property="number" column="number"/>
  10. </resultMap>
  11. <select id="ListUser" resultMap="result">
  12. SELECT * FROM user
  13. </select>
  14. <select id="findUserByName" resultMap="result">
  15. SELECT * FROM user where name=#{name}
  16. </select>
  17. <insert id="insertUser" parameterType="com.example.demo.entity.User"
  18. keyProperty= "id" useGeneratedKeys= "true">
  19. INSERT INTO user
  20. (
  21. id,name,password,number
  22. )
  23. VALUES (
  24. #{id},
  25. #{name, jdbcType=VARCHAR},
  26. #{password, jdbcType=VARCHAR},
  27. #{number}
  28. )
  29. </insert>
  30. <delete id="delete" parameterType="int">
  31. delete from user where id=#{id}
  32. </delete>
  33. <update id="Update" parameterType="com.example.demo.entity.User">
  34. update user set user.name=#{name},user.password=#{password},user.number=#{number} where user.id=#{id}
  35. </update>
  36. </mapper>

最后配置application.properties配置文件:

spring.datasource.url = jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = 11111111
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10
mybatis.mapper-locations= classpath:mapper/*.xml

启动程序的入口类:SpringbootMybatisApplication.java

我们在postmain这个工具中测试:

测试查询所有的信息:http://localhost:8080/CRUD/ListUser




测试根据name查询数据:

http://localhost:8080/CRUD/ListUserByname?name=小王

测试根据Id删除数据:

http://localhost:8080/CRUD/delete?id=40


测试根据插入数据:http://localhost:8080/CRUD/insert?name=波波&password=123456&number=123





测试修改数据:http://localhost:8080/CRUD/update?id=46&name=zyb&password=9999999&number=5555



结束!源码地址-->码云:源码地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值