Springboot手動搭建項目——配置mybatis tk框架


最近一直在學springboot和Cloud,互聯網公司現在也更傾向於微服務這一塊,前景是一篇光明的,特別是在springboot上開發的Cloud的部分,是一套分布式的整體解決方案,學好這一塊至少這幾年都很吃香;

既然學習很久,落地實踐一下為好;

項目git網址:https://github.com/David-BIQI/manage.git(項目使用比較新的springboot2.0 還有jdk8 )

參照的代碼規范:https://github.com/xwjie/PLMCodeTemplate.git (這個是一套能夠落地的代碼規范,跟着風哥學習很多)

 

項目已經初始化,連接數據庫了,配置mybatis tk框架,加上分頁插件<有空還要連接一下mybatis的原理,還有分頁的實現原理>

application.yml下 mybatis配置:

# mybatis包的掃描,還有就是映射文件設置 mybatis tk插件的使用
mybatis:
    type-aliases-package: package com.biqi.model
    mapper-locations: classpath:mapper/*.xml
    #配置駝峰下划線
    configuration:
      map-underscore-to-camel-case: true

  

pom中的架包:

		 <!--mybatis tk框架-->
		<dependency>
			<groupId>tk.mybatis</groupId>
			<artifactId>mapper-spring-boot-starter</artifactId>
			<version>1.2.4</version>
		</dependency>
		<!---分頁插件-->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>1.2.3</version>
		</dependency>
		<!---mybatis tk框架-->

  

tk實現的例子:

1、定義一個接口

package com.common.mybatis;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

/**   
 * Description: 實現增刪改查的基本sql功能
 * @Package com.common.mybatis 
 * @author  xiebq @date    2018年6月7日 上午9:53:34 
 */
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
    //FIXME 特別注意,該接口不能被掃描到,否則會出錯
}

dao繼承接口

package com.biqi.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import com.biqi.model.User;
import com.common.mybatis.MyMapper;

/**   
 * @Package com.biqi.dao 
 * @author  xiebq @date    2018年6月7日 上午9:55:30 
 */
@Mapper
public interface UserDao extends MyMapper<User> {
	
    /**
     * 測試數據庫連接
     * @return
     */
    @Select("SELECT count(*) FROM User ")
    Integer countUser();
    
    
    int countUser2();
    

}

 具體使用

    public User getUserByid(Integer id) {
        User user = userDao.selectByPrimaryKey(id);
        return user;
    }

    public Integer saveUser(User user) {
        user.setId(null);
        user.setCreateby(SuperUserId);
        user.setCreated(new Date());
        userDao.insertUseGeneratedKeys(user);
        return user.getId();
    }

    public Boolean deleteUser(Integer id) {
        User oldUser = userDao.selectByPrimaryKey(id);
        notNull(oldUser, "用戶id:"+id+" 不存在");
        userDao.deleteByPrimaryKey(id);
        return true;
    }

分頁的例子:

 

	public PageDto<User> listPage(Integer page, Integer size) {
		//tk mybatis進行查詢
        Example example = new Example(User.class);
        //分頁查詢
        PageHelper.startPage(page, size);
        //添加查詢條件
        //example.createCriteria().andEqualTo("id",XX);
        example.orderBy("created").desc();
        List<User> list = userDao.selectByExample(example);
        //分頁查詢-->若凡在這里,不能進行分頁 PageHelper.startPage(page, size);
        PageInfo<User> pageInfo = new PageInfo<User>(list);
		return new PageDto<>(list, pageInfo.getTotal());
	}

xml文件<不喜歡在接口中寫sql語句的>

<?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.biqi.dao.UserDao">

	<select id="countUser2" resultType="java.lang.Integer">
		SELECT count(*) FROM User 
	</select>
</mapper>

  以上這些步驟做好單表的增刪改查,以及分頁基本完成。以下是tk能夠完成以下的查詢,

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM