1 导入依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
2 项目配置
#数据库配置 根据自己数据库username和password修改
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/need?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#整合mybatis
mybatis.type-aliases-package=com.jkj.need.entity #给pojo实体类起别名
#接口的配置文件的位置 我这里接口配置文件是UserMapper.xml 如下图所示
mybatis.mapper-locations= classpath:mapper/*.xml
#数据库字段和属性字段驼峰映射
mybatis.configuration.mapUnderscoreToCamelCase=true
错误注意
@RestController
@Validated
@RequestMapping("/user")
public class UserController {
@PostMapping("/add")
public void addUser(@Valid @RequestBody User user){
System.out.println(user);
return;
}
@GetMapping("/search")
public void searchUser(@Valid @Min(value = 1,message = "超过 id 的范围了") int userId){
System.out.println(userId);
return;
}
}
@RestController("")内的值不是路径,需要@RequestMapping("/user") 否则404报错
3 用户信息的增删查改
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
@NotBlank
private String account;
@NotBlank
private String username;
@NotBlank
private String password;
private int isDelete;
}
mybatis sql 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="">
</mapper>
@Mapper
public interface UserMapper {
int addUser(User user);
User searchUserById(int userId);
int searchUserByAccountOrUsername(String username,String account);
int updateUser(String username,String password,int userId);
int delete(int delete,int userId);
}
<?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.jkj.need.mapper.UserMapper">
<insert id="addUser" useGeneratedKeys="true" keyProperty="id" parameterType="User">
insert into user(username,account,password) values (#{username},#{account},#{password});
</insert>
<select id="searchUserById" resultType="User">
select * from user where id=#{userId}
</select>
<select id="searchUserByAccountOrUsername" resultType="int">
select id from user
<where>
<if test="username!=null and username!='' ">
username=#{username}
</if>
<if test="account!=null and account!='' ">
or account=#{account}
</if>
</where>
</select>
<update id="updateUser">
update user
<set>
<if test="username!=null and username!='' ">
username=#{username},
</if>
<if test="password!=null and password!='' ">
password=#{password}
</if>
</set>
where id=#{userId}
</update>
<update id="delete">
update user set is_delete=#{delete} where id=#{userId}
</update>
</mapper>