场景
MyBatis Spring-Boot-Starter简单的CRUD
http://localhost:8080/queryUserlist http://localhost:8080/addUser http://localhost:8080/updateUser http://localhost:8080/deleteUser
配置
pom.xml
//jetbrains://idea/navigate/reference?project=sprintboot&path=spingbook-05-mybatis/pom.xml:21:3
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
application.properties
//jetbrains://idea/navigate/reference?project=sprintboot&path=application.properties:1:1
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#整合mybatis
mybatis.type-aliases-package=com.cmk.spingbook05mybatis.pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
pojo
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int id;
private String name;
private String pwd;
}
UserMapper
UserMapper.java
//jetbrains://idea/navigate/reference?project=sprintboot&path=com/cmk/spingbook05mybatis/mapper/UserMapper.java:18:1
//这个注解表示了这是一个mybatis的mapper类;
@Mapper
@Repository
public interface UserMapper {
// public static final int age = 18;
List<User> queryUserList();
User queryUserById(int id);
int addUser(User user);
int updateUser(User user);
int deleteUser(int id);
}
UserMapper.xml
//jetbrains://idea/navigate/reference?project=sprintboot&path=mybatis/mapper/UserMapper.xml:3:3
<mapper namespace="com.cmk.spingbook05mybatis.mapper.UserMapper">
<select id="queryUserList" resultType="com.cmk.spingbook05mybatis.pojo.User">
select * from user
</select>
<select id="queryUserById" resultType="com.cmk.spingbook05mybatis.pojo.User" parameterType="int">
select * from user where id = #{id}
</select>
<insert id="addUser" parameterType="com.cmk.spingbook05mybatis.pojo.User">
insert into user(id,name,pwd) values (#{id},#{name},#{pwd})
</insert>
<update id="updateUser" parameterType="com.cmk.spingbook05mybatis.pojo.User">
update user set name=#{name},pwd=#{pwd} where id = #{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
控制器
UserController.java
//jetbrains://idea/navigate/reference?project=sprintboot&fqn=org.springframework.web.bind.annotation.RestController
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/queryUserlist")
public List<User> queryUserList(){
List<User> userList = userMapper.queryUserList();
for (User user : userList) {
System.out.println(user);
}
return userList;
}
//添加一个用户
@GetMapping("/addUser")
public String addUser(){
userMapper.addUser(new User(5,"阿坝","1234565"));
return "ok";
}
//修改一个用户
@GetMapping("/updateUser")
public String updateUser(){
userMapper.updateUser(new User(5,"啊毛","778899"));
return "ok";
}
//删除一个用户
@GetMapping("/deleteUser")
public String deleteUser(){
userMapper.deleteUser(5);
return "ok";
}
}