Mybatis 通用 Mapper 2.2.0 发布

Mybatis通用Mapper
极其方便的使用Mybatis单表的增删改查

2.2.0

  • 新增SqlMapper,可以使用MyBatis直接执行sql,详细文档

2.2.0版本之后,通过SqlMapper可以支持多表的操作,但是需要在代码中直接写SQL。

即使不使用通用mapper,相信SqlMapper也一定符合部分人的需求。

示例:

selectList:

//查询,返回List<Map>
List<Map<String, Object>> list = sqlMapper.selectList("select * from country where id < 11");

//查询,返回指定的实体类
List<Country> countryList = sqlMapper.selectList("select * from country where id < 11", Country.class);

//查询,带参数
countryList = sqlMapper.selectList("select * from country where id < #{id}", 11, Country.class);

//复杂点的查询,这里参数和上面不同的地方,在于传入了一个对象

Country country = new Country();
country.setId(11);
countryList = sqlMapper.selectList("<script>" +
        "select * from country " +
        "   <where>" +
        "       <if test=\"id != null\">" +
        "           id &lt; #{id}" +
        "       </if>" +
        "   </where>" +
        "</script>", country, Country.class)
;```  

selectOne:

Map map = sqlMapper.selectOne("select * from country where id = 35");

map = sqlMapper.selectOne("select * from country where id = #{id}", 35);

Country country = sqlMapper.selectOne("select * from country where id = 35", Country.class);

country = sqlMapper.selectOne("select * from country where id = #{id}", 35, Country.class);
insert,delete,update:

//insert
int result = sqlMapper.insert("insert into country values(1921,'天朝','TC')");

Country tc = new Country();
tc.setId(1921);
tc.setCountryname("天朝");
tc.setCountrycode("TC");
//注意这里的countrycode和countryname故意写反的
result = sqlMapper.insert("insert into country values(#{id},#{countrycode},#{countryname})"

                      , tc);

//update
result = sqlMapper.update("update country set countryname = '天朝' where id = 35");

tc = new Country();
tc.setId(35);
tc.setCountryname("天朝");

int result = sqlMapper.update("update country set countryname = #{countryname}" +

       " where id in(select id from country where countryname like 'A%')", tc);

//delete
result = sqlMapper.delete("delete from country where id = 35");
result = sqlMapper.delete("delete from country where id = #{id}", 35);

时间: 2024-07-30 00:45:04

Mybatis 通用 Mapper 2.2.0 发布的相关文章

Spring Boot MyBatis 通用Mapper插件集成

看本文之前,请确保你已经在SpringBoot中集成MyBatis,并能正常使用. 如果没有,那么请先移步 http://blog.csdn.net/catoop/article/details/50553714 做了解后,再按本文步骤操作. 使用MyBatis在我们通过xml集中配置SQL,并通过创建接口Mapper文件来完成持久化DAO层(mybatis内部使用的是动态代理,所以我们不需要自己编写实现类). 然而在实际开发中,单表操作非常多,如果你也想像JPA.JDBC那样做一个所谓的Bas

Mybatis通用Mapper

极其方便的使用Mybatis单表的增删改查 项目地址:http://git.oschina.net/free/Mapper 优点? 不客气的说,使用这个通用Mapper甚至能改变你对Mybatis单表基础操作不方便的想法,使用它你能简单的使用单表的增删改查,包含动态的增删改查. 程序使用拦截器实现具体的执行Sql,完全使用原生的Mybatis进行操作. 你还在因为数据库表变动重新生成xml吗?还是要手动修改自动生成的insert|update|delete的xml呢?赶紧使用通用Mapper,表

Spring Boot MyBatis 通用Mapper插件集成 good

看本文之前,请确保你已经在SpringBoot中集成MyBatis,并能正常使用.如果没有,那么请先移步 http://blog.csdn.net/catoop/article/details/50553714 做了解后,再按本文步骤操作. 使用MyBatis在我们通过xml集中配置SQL,并通过创建接口Mapper文件来完成持久化DAO层(mybatis内部使用的是动态代理,所以我们不需要自己编写实现类). 然而在实际开发中,单表操作非常多,如果你也想像JPA.JDBC那样做一个所谓的Base

mybatis通用mapper的使用

       项目中持久层封装了两套,一个hibernate,一个是mybatis.hibernate中封装了一些通用的方法,但是mybatis中没有,基于这个需求开始使用mybatis的通用mapper.        通用mapper有什么好处呢?以往我们使用mapper文件都是自己写sql语句,针对的是单个实体,也就是每个实体都有其对应的mapper文件.使用通用mapper给我们带来了极大的方便,它不需要mapper.xml文件,只需我们调用相应的接口,引入jar包再进行简单的配置就好了

Mybatis 分页插件 3.3.0 发布

项目地址 gitosc地址:http://git.oschina.net/free/Mybatis_PageHelper github地址:https://github.com/pagehelper/Mybatis-PageHelper 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页. 经过近4个月的完善和反馈,3.3.0版本已经稳定,该版本相

如何使用通用Mapper

集成方法请看上面的文档,集成后,可以继续阅读本页文档. 1. 继承通用的Mapper<T>,必须指定泛型<T> 例如下面的例子: public interface UserInfoMapper extends Mapper<UserInfo> { //其他必须手写的接口... } 一旦继承了Mapper<T>,继承的Mapper就拥有了Mapper<T>所有的通用方法.   2. 泛型(实体类)<T>的类型必须符合要求 实体类按照如下

AI大事件 | OpenAI员工离职创立机器人新公司,spaCy v2.0.0发布

呜啦啦啦啦啦大家好呀,又到了本周的AI大事件时间了.过去的一周中AI圈都发生了什么?大佬们互撕了哪些问题?研究者们发布了哪些值得一读的论文?又有哪些开源的代码和数据库可以使用了?文摘菌带你盘点过去一周AI大事件! 新闻 Waymo的无人驾驶汽车已奔驰在亚利桑那州凤凰城的大路上 来源:WWW.RECODE.NET 链接:https://www.recode.net/2017/11/7/16614780/alphabet-driverless-cars-phoenix-arizona Alphabe

一个用于Gnome桌面的下拉式终端: Guake 0.7.0 发布

一个用于Gnome桌面的下拉式终端: Guake 0.7.0 发布 Linux的命令行是最好.最强大的东西,它使新手着迷,并为老手和极客的提供极其强大的功能.那些在服务器和生产环境下工作的人早已认识到了这个事实.有趣的是,Linux终端是Linus Torvald在1991年写内核时实现的第一批功能之一. 终端是个强大的工具,由于它没有什么可调整的部分,所以十分可靠.终端介于控制台环境和GUI环境之间.终端自身作为一个GUI程序,运行在桌面环境下.有许多终端是适用于特定的桌面环境的,其它的则是通

DBeaver 3.2.0 发布,数据库管理工具

DBeaver 3.2.0 发布,此版本更新内容如下: 改进数据传输向导 UI 修复跨数据库数据传输问题,性能明显提升 改进 Object 编辑器 UI 大量 UI 改进和 bug 修复 MongoDB 扩展 (EE 版本): SQL 编辑器支持 JavaScript expressions/queries 支持多个 db 验证 Create/delete collections/databases Server functions (JS) and users view DBeaver 是一个