摘要:原文鏈接插件使用通用通用可以簡化操作,不必多帶帶為每一指定接口所需包配置在配置文件中配置配置通用使用方法只要就擁有了通用中所有方法常用方法通用常用方法等號(hào)的根據(jù)實(shí)體中的屬性值進(jìn)行查詢,查詢條件使用等號(hào)根據(jù)主鍵字段進(jìn)行查詢,方
原文鏈接: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常用方法: * * 等號(hào)的CRUD: * Listselect(T record); 根據(jù)實(shí)體中的屬性值進(jìn)行查詢,查詢條件使用等號(hào) * T selectByPrimaryKey(Object key); 根據(jù)主鍵字段進(jìn)行查詢,方法參數(shù)必須包含完整的主鍵屬性,查詢條件使用等號(hào) * List selectAll(); 查詢?nèi)拷Y(jié)果,select(null)方法能達(dá)到同樣的效果 * T selectOne(T record); 根據(jù)實(shí)體中的屬性進(jìn)行查詢,只能有一個(gè)返回值,有多個(gè)結(jié)果是拋出異常,查詢條件使用等號(hào) * int selectCount(T record); 根據(jù)實(shí)體中的屬性查詢總數(shù),查詢條件使用等號(hào) * int insert(T record); 保存一個(gè)實(shí)體,null的屬性也會(huì)保存,不會(huì)使用數(shù)據(jù)庫默認(rèn)值 * int insertSelective(T record); 保存一個(gè)實(shí)體,null的屬性不會(huì)保存,會(huì)使用數(shù)據(jù)庫默認(rèn)值 * int updateByPrimaryKey(T record); 根據(jù)主鍵更新實(shí)體全部字段,null值會(huì)被更新 * int updateByPrimaryKeySelective(T record); 根據(jù)主鍵更新屬性不為null的值 * int delete(T record); 根據(jù)實(shí)體屬性作為條件進(jìn)行刪除,查詢條件使用等號(hào) * int deleteByPrimaryKey(Object key); 根據(jù)主鍵字段進(jìn)行刪除,方法參數(shù)必須包含完整的主鍵屬性 * * 條件的CRUD: * List selectByCondition(Object condition); 根據(jù)Condition條件進(jìn)行查詢 * int selectCountByCondition(Object condition); 根據(jù)Condition條件進(jìn)行查詢總數(shù) * int updateByCondition(@Param("record") T record, @Param("example") Object condition); 根據(jù)Condition條件更新實(shí)體record包含的全部屬性,null值會(huì)被更新 * int updateByConditionSelective(@Param("record") T record, @Param("example") Object condition); 根據(jù)Condition條件更新實(shí)體record包含的不是null的屬性值 * int deleteByCondition(Object condition); 根據(jù)Condition條件刪除數(shù)據(jù) * * * */ 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); //第一個(gè)參數(shù)offset是當(dāng)前頁數(shù),第二個(gè)參數(shù)limit是每頁顯示多少數(shù)據(jù) //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...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/69859.html
摘要:通用是為了解決使用中的基本操作,使用它可以很方便的進(jìn)行開發(fā),可以節(jié)省開發(fā)人員大量的時(shí)間。當(dāng)該參數(shù)設(shè)置為時(shí),時(shí)會(huì)查詢第一頁,超過總數(shù)時(shí),會(huì)查詢最后一頁。 SpringBoot 是為了簡化 Spring 應(yīng)用的創(chuàng)建、運(yùn)行、調(diào)試、部署等一系列問題而誕生的產(chǎn)物,自動(dòng)裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關(guān)的依賴就可以輕易的搭建出一個(gè) WEB 工...
摘要:原文鏈接插件使用通用通用可以簡化操作,不必單獨(dú)為每一指定接口所需包配置在配置文件中配置配置通用使用方法只要就擁有了通用中所有方法常用方法通用常用方法等號(hào)的根據(jù)實(shí)體中的屬性值進(jìn)行查詢,查詢條件使用等號(hào)根據(jù)主鍵字段進(jìn)行查詢,方 原文鏈接:MyBatis插件使用--通用Mapper 通用Mapper可以簡化CRUD操作,不必單獨(dú)為每一Mapper指定CRUD接口所需jar包mapper-3....
摘要:解決通用無法回顯的問題首先給大家推薦一個(gè)非常好的插件網(wǎng)站,使用的各位可以到這個(gè)網(wǎng)站來看一下插件。通用配置問題解決,如有疑問請(qǐng)查文檔,在上面的插件官網(wǎng)中有。 解決通用mapperUUID無法回顯的問題 ???????????首先給大家推薦一個(gè)非常好的Mybatis插件網(wǎng)站http://mybatis.tk/,使用Mbatis的各位可以到這個(gè)網(wǎng)站來看一下Mybatis插件。????????...
摘要:代碼自動(dòng)生成底層服務(wù)有很多通用的,利用代碼生成最好不過了,這里作者將代碼生成放在中的,避免與正式代碼沖突。主要通過來實(shí)現(xiàn),項(xiàng)目中的模板文件可以自行定義。相互學(xué)習(xí),共同進(jìn)步 從零開始學(xué)習(xí)Spring Boot也有幾天時(shí)間了,項(xiàng)目已經(jīng)不允許我這么慢慢學(xué)習(xí)了,急需底層變現(xiàn)實(shí)現(xiàn)一套簡單的Restful API用于業(yè)務(wù)支撐。 于是在GitHub上找到了一個(gè)不錯(cuò)的demo,直接看demo搭建自己的...
摘要:優(yōu)化當(dāng)我們?cè)跀?shù)據(jù)庫中增加字段時(shí),需要在對(duì)應(yīng)的實(shí)體類中增加字段,中也需要去增加字段,去維護(hù),會(huì)消耗大量的時(shí)間我們可以讓接口去繼承,刪除接口中的所有方法,因?yàn)橹卸家呀?jīng)實(shí)現(xiàn)了。遇到這里問題不會(huì)報(bào)錯(cuò),只要注意打印出來的語句即可。 SpringBoot集成Mybatis 自動(dòng)生成實(shí)體類和Mapper 1.使用IDEA創(chuàng)建一個(gè)空的SpringBoot項(xiàng)目 2.在pom.xml中引入以下配置 ...
閱讀 1640·2023-04-25 20:36
閱讀 2048·2021-09-02 15:11
閱讀 1177·2021-08-27 13:13
閱讀 2653·2019-08-30 15:52
閱讀 4588·2019-08-29 17:13
閱讀 1001·2019-08-29 11:09
閱讀 1491·2019-08-26 11:51
閱讀 833·2019-08-26 10:56