首先在pom文件中加入依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
然后在application.yml中加入配置:
mybatis:
type-aliases-package: com.huangpeng.cloud.mybatisExample.entity
mapper-locations: classpath:mybatis/*.xml
在mysql数据库中有一张user表:

然后在src/main/resources目录下新建一个文件夹mybatis,新增一个User.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.huangpeng.cloud.mybatisExample.mapper.UserMapper">
<resultMap type="com.huangpeng.cloud.mybatisExample.entity.UserEntity" id="user">
<result property="id" column="id" />
<result property="name" column="name"/>
<result property="age" column="age"/>
</resultMap>
<!-- 查找所有 -->
<select id="getUser" resultMap="user">
select * from user
</select>
<insert id="insert" parameterType="com.huangpeng.cloud.mybatisExample.entity.UserEntity">
insert into USER (ID, NAME, AGE )
values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{age,jdbcType=VARCHAR})
</insert>
</mapper>
示例代码的目录结构如下:

UserController.java
@RestController
@RequestMapping("user")
public class UserController {
private static final Logger logger = LoggerFactory.getLogger(UserController.class);
@Autowired
private IUserService userService;
@GetMapping("getUser")
@Transactional
public List<UserEntity> getUser(){
logger.info("获取用户数据");
return userService.getUser();
}
@Transactional
@RequestMapping(value = "insert", method = RequestMethod.POST)
public String insertUser(@RequestBody UserEntity u) {
try {
userService.insert(u);
return JSONObject.toJSON(userService.getUser()).toString();
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return JSONObject.toJSON(e).toString();
}
}
}
UserEntity.java
public class UserEntity {
int id;
String name;
int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
UserMapper.java
public interface UserMapper {
List<UserEntity> getUser();
void insert(UserEntity user);
}
IUserService.java
public interface IUserService {
List<UserEntity> getUser();
void insert(UserEntity user);
}
IUserServiceImpl.java
@Service
public class IUserServiceImpl implements IUserService {
@Autowired
private UserMapper userMapper;
//获取用户的信息
public List<UserEntity> getUser(){
List<UserEntity> userList = new ArrayList<>();
userList = userMapper.getUser();
return userList;
}
public void insert(UserEntity user){
userMapper.insert(user);
}
}
在项目启动类上添加注解:
@MapperScan(value = "com.huangpeng.cloud.mybatisExample.mapper")
然后启动项目,使用postman进行测试:
测试getUser接口:

测试insert接口:

网友评论