摘要:原文鏈接插件使用通用通用可以簡化操作,不必多帶帶為每一指定接口所需包配置在配置文件中配置配置通用使用方法只要就擁有了通用中所有方法常用方法通用常用方法等號的根據實體中的屬性值進行查詢,查詢條件使用等號根據主鍵字段進行查詢,方
原文鏈接:MyBatis插件使用--通用Mapper
XML配置通用Mapper可以簡化CRUD操作,不必多帶帶為每一Mapper指定CRUD接口
所需jar包mapper-3.3.9.jar,persistence-api-1.0.jar
在spring配置文件中配置:
使用方法mappers=tk.mybatis.mapper.common.Mapper
只要extends tk.mybatis.mapper.common.Mapper
public interface Test1Mapper extends Mapper常用方法{ }
import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.apache.ibatis.session.SqlSessionFactory; import org.junit.Test; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.InvalidConfigurationException; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.core.io.ClassPathResource; import tk.mybatis.mapper.entity.Condition; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.yupont.gs.dao.mapper.Test1Mapper; import com.yupont.gs.model.Test1; /** * 通用Mapper常用方法: * * 等號的CRUD: * Listselect(T record); 根據實體中的屬性值進行查詢,查詢條件使用等號 * T selectByPrimaryKey(Object key); 根據主鍵字段進行查詢,方法參數必須包含完整的主鍵屬性,查詢條件使用等號 * List selectAll(); 查詢全部結果,select(null)方法能達到同樣的效果 * T selectOne(T record); 根據實體中的屬性進行查詢,只能有一個返回值,有多個結果是拋出異常,查詢條件使用等號 * int selectCount(T record); 根據實體中的屬性查詢總數,查詢條件使用等號 * int insert(T record); 保存一個實體,null的屬性也會保存,不會使用數據庫默認值 * int insertSelective(T record); 保存一個實體,null的屬性不會保存,會使用數據庫默認值 * int updateByPrimaryKey(T record); 根據主鍵更新實體全部字段,null值會被更新 * int updateByPrimaryKeySelective(T record); 根據主鍵更新屬性不為null的值 * int delete(T record); 根據實體屬性作為條件進行刪除,查詢條件使用等號 * int deleteByPrimaryKey(Object key); 根據主鍵字段進行刪除,方法參數必須包含完整的主鍵屬性 * * 條件的CRUD: * List selectByCondition(Object condition); 根據Condition條件進行查詢 * int selectCountByCondition(Object condition); 根據Condition條件進行查詢總數 * int updateByCondition(@Param("record") T record, @Param("example") Object condition); 根據Condition條件更新實體record包含的全部屬性,null值會被更新 * int updateByConditionSelective(@Param("record") T record, @Param("example") Object condition); 根據Condition條件更新實體record包含的不是null的屬性值 * int deleteByCondition(Object condition); 根據Condition條件刪除數據 * * * */ public class CommonMapperTest { public static Test1Mapper mapper = ((SqlSessionFactory) new ClassPathXmlApplicationContext("spring-db.xml").getBean("sqlSessionFactory")).openSession().getMapper(Test1Mapper.class); @Test public void selectAll(){ PageHelper.startPage(2, 5); //第一個參數offset是當前頁數,第二個參數limit是每頁顯示多少數據 //Condition c = new Condition(Test1.class); //c.createCriteria().andCondition("name in ("zhaoliu","zhangsan")"); List list = mapper.selectAll(); PageInfo page = new PageInfo (list); System.out.println(page.getTotal()); for (Test1 test1 : list) { System.out.println(test1.getName()); } } @Test public void insertSelective(){ Test1 test = new Test1(); test.setAge(33); test.setName("zhaoliu"); mapper.insertSelective(test); System.out.println(test.getId()); } @Test public void selectOne(){ Test1 test = new Test1(); test.setAge(22); Test1 t = mapper.selectOne(test); System.out.println(t.getName()); } @Test public void SelectByConditionMapper(){ Condition condition=new Condition(Test1.class); condition.createCriteria().andCondition("name like "%zhangsan%""); condition.setOrderByClause("name desc"); List list = mapper.selectByExample(condition); System.out.println(list.size()); } @Test public void generatorCode() throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException{ List warnings = new ArrayList (); boolean overwrite = true; ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(new ClassPathResource("generatorConfig.xml").getInputStream()); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } }
參考資料http://git.oschina.net/free/M...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110355.html
摘要:通用是為了解決使用中的基本操作,使用它可以很方便的進行開發,可以節省開發人員大量的時間。當該參數設置為時,時會查詢第一頁,超過總數時,會查詢最后一頁。 SpringBoot 是為了簡化 Spring 應用的創建、運行、調試、部署等一系列問題而誕生的產物,自動裝配的特性讓我們可以更好的關注業務本身而不是外部的XML配置,我們只需遵循規范,引入相關的依賴就可以輕易的搭建出一個 WEB 工...
摘要:原文鏈接插件使用通用通用可以簡化操作,不必單獨為每一指定接口所需包配置在配置文件中配置配置通用使用方法只要就擁有了通用中所有方法常用方法通用常用方法等號的根據實體中的屬性值進行查詢,查詢條件使用等號根據主鍵字段進行查詢,方 原文鏈接:MyBatis插件使用--通用Mapper 通用Mapper可以簡化CRUD操作,不必單獨為每一Mapper指定CRUD接口所需jar包mapper-3....
摘要:解決通用無法回顯的問題首先給大家推薦一個非常好的插件網站,使用的各位可以到這個網站來看一下插件。通用配置問題解決,如有疑問請查文檔,在上面的插件官網中有。 解決通用mapperUUID無法回顯的問題 ???????????首先給大家推薦一個非常好的Mybatis插件網站http://mybatis.tk/,使用Mbatis的各位可以到這個網站來看一下Mybatis插件。????????...
摘要:代碼自動生成底層服務有很多通用的,利用代碼生成最好不過了,這里作者將代碼生成放在中的,避免與正式代碼沖突。主要通過來實現,項目中的模板文件可以自行定義。相互學習,共同進步 從零開始學習Spring Boot也有幾天時間了,項目已經不允許我這么慢慢學習了,急需底層變現實現一套簡單的Restful API用于業務支撐。 于是在GitHub上找到了一個不錯的demo,直接看demo搭建自己的...
摘要:優化當我們在數據庫中增加字段時,需要在對應的實體類中增加字段,中也需要去增加字段,去維護,會消耗大量的時間我們可以讓接口去繼承,刪除接口中的所有方法,因為中都已經實現了。遇到這里問題不會報錯,只要注意打印出來的語句即可。 SpringBoot集成Mybatis 自動生成實體類和Mapper 1.使用IDEA創建一個空的SpringBoot項目 2.在pom.xml中引入以下配置 ...
閱讀 1614·2021-11-16 11:45
閱讀 2544·2021-09-29 09:48
閱讀 3269·2021-09-07 10:26
閱讀 1840·2021-08-16 10:50
閱讀 1866·2019-08-30 15:44
閱讀 2698·2019-08-28 18:03
閱讀 1898·2019-08-27 10:54
閱讀 1821·2019-08-26 14:01