SpringBoot整合MyBatis可参考://www.greatytc.com/p/336870c56ea4
pom依赖
<!-- 测试相关依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
实体类
public class Person {
private String id;
private String name;
private int age;
private String sex;
public String getId() {
return id;
}
public void setId(String 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;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Person{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
'}';
}
}
Dao接口
public interface TestDao {
void insertData(Person person);
}
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.hkj.springbootmybatisdemo.dao.TestDao">
<insert id="insertData" parameterType="com.hkj.springbootmybatisdemo.entity.Person">
<selectKey keyProperty="id" order="BEFORE" resultType="java.lang.String">
select replace(uuid(), '-', '') as id from dual
</selectKey>
insert into person(id,name,age,sex) values (#{id},#{name},#{age},#{sex})
</insert>
</mapper>
在要做测试的类上生成测试方法,如测试ServiceTestImpl类
测试ServiceTestImpl
测试类
@RunWith(SpringRunner.class)
@SpringBootTest
public class ServiceTestImplTest {
@Autowired
private TestDao testDao;
@Test
@Transactional // 回滚,避免测试数据入库
public void test2(){
Person person = new Person();
person.setName("王五");
person.setAge(11);
person.setSex("女");
testDao.insertData(person);
System.out.println(person.getId());
}
}
若想生成自增主键,可采取下列写法,此时实体的id应为Integer类型
<insert id="insertExample" parameterType="实体">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
select LAST_INSERT_ID()
</selectKey>
insert sql...
</insert>