SpringBoot(八):整合mybatis,通用mapper,分頁外掛,lambda,Logger,junit用法
本作品採用ofollow,noindex" href="http://creativecommons.org/licenses/by/4.0/" target="_blank">知識共享署名 4.0 國際許可協議 進行許可。
本文作者:低調小熊貓
文章連結:https://aodeng.cc/archives/springbootba
轉載宣告:自由轉載-非商用-非衍生-保持署名,非商業轉載請註明作者及出處,商業轉載請聯絡作者本人qq:2696284032
整合demo
配置依賴
<!--通用mapper--> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.0.2</version> </dependency> <!--分頁外掛--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency> <!-- MYSQL包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
配置靜態資原始檔
<resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources>
配置application.yml檔案
spring: datasource: url: password: username: # 如果想看到mybatis日誌需要做如下配置 logging: level: com.hope: DEBUG ########## Mybatis 自身配置 ########## mybatis: mapper-locations: classpath:/mapper/*.xml type-aliases-package: com.hope.model # 駝峰命名規範 如:資料庫欄位是order_id 那麼 實體欄位就要寫成 orderId #mybatis.configuration.map-underscore-to-camel-case=true ########## 通用Mapper ########## # 主鍵自增回寫方法,預設值MYSQL,詳細說明請看文件 mapper: identity: MYSQL # 設定 insert 和 update 中,是否判斷字串型別!='' not-empty: true # 列舉按簡單型別處理 enum-as-simple-type: true ########## 分頁外掛 ########## pagehelper: helper-dialect: mysql params: count=countSql reasonable: false support-methods-arguments: true
然後自己建立model,mapper,xml,service
通用mapper的使用
import org.apache.ibatis.annotations.Mapper; import tk.mybatis.mapper.common.BaseMapper; @Mapper public interface SysRoleMapper extends BaseMapper<SysRole>{ }
junitTest
idea快捷鍵生成junitTest
開啟要測試的類,如果選擇idea工具欄的Navigate,然後點選Test就行了
RunWith(SpringRunner.class) @SpringBootTest public class SysRoleServiceImplTest { private static final Logger log = LoggerFactory.getLogger(SysRoleServiceImplTest.class); @Autowired private SysRoleServiceImpl sysRoleService; @Test public void test1(){ List<SysRole> sysRoleList=sysRoleService.SelectAll(); log.info("[普通寫法] - [{}]", sysRoleList); //分頁 PageInfo<Object> pageInfo= PageHelper.startPage(1,1).doSelectPageInfo(() -> sysRoleService.SelectAll()); log.info("[分頁]-[{}]",pageInfo); } }
Logger
列印比較詳細
private static final Logger log = LoggerFactory.getLogger(SysRoleServiceImplTest.class); log.info("[分頁]-[{}]",pageInfo);
lambda
PageInfo<Object> pageInfo= PageHelper.startPage(1,1).doSelectPageInfo(() -> sysRoleService.SelectAll());