1.新建maven项目:
2.导入依赖:
org.springframework.boot
spring-boot-starter-web
javax.servlet
javax.servlet-api
provided
javax.servlet
jstl
org.springframework.boot
spring-boot-starter-tomcat
provided
org.apache.tomcat.embed
tomcat-embed-jasper
provided
org.springframework.boot
spring-boot-starter-freemarker
org.springframework.boot
spring-boot-starter-test
mysql
mysql-connector-java
org.springframework.boot
spring-boot-starter-jdbc
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.1.1
com.github.pagehelper
pagehelper
4.1.0
junit
junit
4.12
test
温馨小提示:由于我这里是新建的module,因此我的springboot依赖放在了外面导入,你们根据自己的项目来就好
org.springframework.boot spring-boot-dependencies 2.0.5.RELEASE pom import
3.mysql连接配置
4.MyBatis相关配置 -- 这里是PageHelper分页插件
@Configuration //相当于我们建了applicationContext-xxx.xml
public class MyBatisConfiguration {
@Bean
public PageHelper pageHelper() {
System.out.println("MyBatisConfiguration.pageHelper()");
PageHelper pageHelper = new PageHelper();
Properties p = new Properties();
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
p.setProperty("reasonable", "true");
pageHelper.setProperties(p);
return pageHelper;
}
}
5.编写启动类
@SpringBootApplication
//@MapperScan("com.zhengqing.springboot.*.mapper") //FIXME : * 用在多模块项目
@MapperScan("com.zhengqing.springboot.mapper") //@MapperScan:扫描该包下的接口
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class);
}
}
6.编写代码 domain实体类,query层,service层这些根据自己的业务来,就不多说了,
主要说说mapper映射 分xml版和注解版 如下
public interface UserMapper {
void save(User user); //TODO xml版
List queryPage(UserQuery query);
// FIXME 注解版 【注意:如果使用这个 就不写beanMapper.xml相关代码!!】
/* @Insert("insert into t_user(name) values(#{name})")
@Options(useGeneratedKeys = true,keyProperty = "id",keyColumn = "id")
void save(User user);*/
}
beanMapper.xml
insert into t_user(name) values(#{name})
温馨小提示: 写beanMapper.xml的时候注意分层结构要对应 不然最后接口和映射文件编译不到同一个路径下
最后就可以来个简单的测试了~
@RunWith(SpringRunner.class)
//标识这是一个spring测试,指定入口【从哪儿加载spring配置文件】和应用类型,它就会扫描入口类子子孙孙包的bean
@SpringBootTest(classes = WebApplication.class)
public class IUserServiceTest {
@Autowired
private IUserService userService;
@Test //MyBatis的crud ...
public void test01() throws Exception{
User user = new User("测试数据-是否可以返回主键");
System.out.println(user);
userService.save(user);
System.out.println(user);
}
@Test //分页
public void test02() throws Exception{
//com.github.pagehelper.Page --->PageList(currentPage,pageSizs,totalRecords,totalpages,Data)
Page list = (Page) userService.queryPage(new UserQuery());
System.out.println(list.getClass());
System.out.println("总数据条数:"+list.getTotal());
System.out.println("总页数:"+list.getPages());
System.out.println("当前页:"+list.getPageNum());
System.out.println("每一页数据条数:"+list.getPageSize());
for (User user : list) {
System.out.println(user);
}
}
}
最后附上源码:https://pan.baidu.com/s/1ZrdrzhEXE0wiE_5nTOUDfg