SpringBoot整合Mybatis实现增删改查
源码获取
源码已上传至GitHub,地址:https://github.com/291685399/springboot-learning/tree/master/springboot-mybatis01 (内含sql文件)
pom.xml里添加:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
ApiApplication.java:
package com.wyj;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan(basePackages = "com.wyj.mapper")//用于扫描mybatis中的mapper文件,要是mapper接口的具体路径
public class ApiApplication {
public static void main(String[] args) {
SpringApplication.run(ApiApplication.class, args);
}
}
application.properties:
# tomcat port
server.port=8080
# datasource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot-mybatis01?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=root
# mybatis
mybatis.mapper-locations=classpath*:mapper/*.xml
mybatis.type-aliases-package=com.wyj.entity
UserController.java:
package com.wyj.controller;
import com.wyj.entity.po.User;
import com.wyj.entity.vo.APIResponse;
import com.wyj.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/insertUser")
public APIResponse insertUser() {
User user = new User("1", "admin", "admin");
userService.insertUser(user);
return APIResponse.success("保存成功");
}
@RequestMapping(value = "/updateUser")
public APIResponse updateUser() {
User user = new User();
user.setId("1");
user.setPassword("abc");
userService.updateUser(user);
return APIResponse.success("修改成功");
}
@RequestMapping(value = "/deleteUser")
public APIResponse deleteUser() {
String id = "1";
userService.deleteUser(id);
return APIResponse.success("删除成功");
}
@RequestMapping(value = "/seleteUser")
public APIResponse seleteUser() {
String id = "1";
User user = userService.seleteUser(id);
return APIResponse.success(user);
}
@RequestMapping(value = "/seleteUserList")
public APIResponse seleteUserList() {
User user = new User();
user.setUsername("admin");
List<User> users = userService.seleteUserList(user);
return APIResponse.success(users);
}
}
UserService.java:
package com.wyj.service;
import com.wyj.entity.po.User;
import java.util.List;
public interface UserService {
/** * 新增数据 * * @param user */
public void insertUser(User user);
/** * 修改数据 * * @param user */
public void updateUser(User user);
/** * 删除数据 * * @param id */
public void deleteUser(String id);
/** * 查找单条数据 * * @param id * @return */
public User seleteUser(String id);
/** * 查找多条数据 * * @param user * @return */
public List<User> seleteUserList(User user);
}
UserServiceImpl.java:
package com.wyj.service.impl;
import com.wyj.entity.po.User;
import com.wyj.mapper.UserMapper;
import com.wyj.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public void insertUser(User user) {
userMapper.insertUser(user);
}
@Override
public void updateUser(User user) {
userMapper.updateUser(user);
}
@Override
public void deleteUser(String id) {
userMapper.deleteUser(id);
}
@Override
public User seleteUser(String id) {
return userMapper.seleteUser(id);
}
@Override
public List<User> seleteUserList(User user) {
return userMapper.seleteUserList(user);
}
}
UserMapper:
package com.wyj.mapper;
import com.wyj.entity.po.User;
import java.util.List;
public interface UserMapper {
/** * 新增数据 * * @param user */
public void insertUser(User user);
/** * 修改数据 * * @param user */
public void updateUser(User user);
/** * 删除数据 * * @param id */
public void deleteUser(String id);
/** * 查找单条数据 * * @param id * @return */
public User seleteUser(String id);
/** * 查找多条数据 * * @param user * @return */
public List<User> seleteUserList(User user);
}
UserMapper.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.wyj.mapper.UserMapper">
<insert id="insertUser" parameterType="com.wyj.entity.po.User">
insert into `user` values (#{id},#{username},#{password})
</insert>
<update id="updateUser" parameterType="com.wyj.entity.po.User">
update `user` set password=#{password} where id=#{id}
</update>
<delete id="deleteUser" parameterType="java.lang.String">
delete from `user` where id=#{id}
</delete>
<select id="seleteUser" parameterType="java.lang.String" resultType="com.wyj.entity.po.User">
select id,username,password from `user` where id=#{id}
</select>
<select id="seleteUserList" parameterType="com.wyj.entity.po.User" resultType="com.wyj.entity.po.User">
select id,username,password from `user` where username=#{username}
</select>
</mapper>
User.java:
package com.wyj.entity.po;
import java.io.Serializable;
public class User implements Serializable {
private String id;
private String username;
private String password;
public User() { }
public User(String id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public String getId() { return id;}
public void setId(String id) { this.id = id;}
public String getUsername() { return username;}
public void setUsername(String username) { this.username = username;}
public String getPassword() { return password;}
public void setPassword(String password) { this.password = password;}
@Override
public String toString() {
return "User{" +
"id='" + id + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
APIResponse.java:
package com.wyj.entity.vo;
import java.io.Serializable;
public class APIResponse implements Serializable {
private String msg;
private Object data;
public APIResponse() { }
public APIResponse(Object data) { this.data = data;}
public APIResponse(String msg, Object data) {
this.msg = msg;
this.data = data;
}
public static APIResponse success(Object date) { return new APIResponse(date);}
public String getMsg() { return msg;}
public void setMsg(String msg) { this.msg = msg;}
public Object getData() { return data;}
public void setData(Object data) { this.data = data;}
@Override
public String toString() {
return "APIResponse{" +
"msg='" + msg + '\'' +
", data='" + data + '\'' +
'}';
}
}
还没有评论,来说两句吧...