前提是搭好springBoot基本框架和熟悉jpa的使用。
这里只做和mybatis相关的配置
1.在pom.xml添加mybatis依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
2.application.properties添加配置
//cn.com.sichang.domain是表映射的实体类所在包
mybatis.type-aliases-package=cn.com.domain
//自动转换驼峰命名,不加的话有些驼峰命名参数值会返回null
mybatis.configuration.map-underscore-to-camel-case=true
3.创建Mapper接口,用来编写sql语句,
这里我写了个根据admin_id查询Admin。
此时AdminMapper 接口所在包是cn.com.Mapper,后面会用到
@Service
public interface AdminMapper {
@Select("SELECT * FROM t_admin WHERE admin_id = #{id}")
@Result(property = "adminId", column = "admin_id")
Admin getAdmin(Integer id);//这里我传入的参数名是id,实际上是admin_id
}
4.测试类
@RunWith(SpringRunner.class)
@SpringBootTest
@MapperScan("cn.com.Mapper")//mapper接口所在包
public class MonitorAdminApplicationTests {
@Autowired
private AdminMapper adminMapper;
@Test
public void contextLoads() {
Admin admin=adminMapper.getAdmin(24);//传入id是24
System.out.println(admin);
}
}
结果打印:
Admin [adminId=24, loginName=xin, passwd=555, email=88888@qq.com, mobile=18336373317, roleId=61, roleName=管理员管理, privilege={“account”:[“queryStaffList”],“device”:[]}, status=1, loginTimes=22, lastLoginIp=192.168.0.114, lastLoginTime=2019-06-11 12:54:19.0, modifyTime=2019-06-11 12:54:19.0, createTime=2019-06-06 09:21:08.0]
关于sql注解:
()里写sql语句
@Select():查询
@Result():对结果集的处理
像上面的@Result(property = “adminId”, column = “admin_id”)
指定Admin实体类中的 adminId映射表里的admin_id字段。
多个结果集处理可以使用:
@Results({@Result(property = “adminId”, column = “admin_id”),@Result(property = “adminId”, column = “admin_id”)})
@Update:更新语句
@Delete:删除
如有不对,欢迎指正!!!!