MyBatis的Mapper接口以及Example的实例函数及详解

一、mapper接口中的方法解析
mapper接口中的函数及方法
在这里插入图片描述
二、example实例解析
mybatis的逆向工程中会生成实例及实例对应的example,example用于添加条件,相当where后面的部分
xxxExample example = new xxxExample();
Criteria criteria = new Example().createCriteria();

在这里插入图片描述
三、应用举例
1.查询
① selectByPrimaryKey()

User user = XxxMapper.selectByPrimaryKey(100); //相当于select * from user where id = 100

② selectByExample() 和 selectByExampleWithBLOGs()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("wyw");
criteria.andUsernameIsNull();
example.setOrderByClause("username asc,email desc");
List<?>list = XxxMapper.selectByExample(example);
//相当于:select * from user where username = 'wyw' and  username is null order by username asc,email desc


注:在iBatis逆向工程生成的文件XxxExample.java中包含一个static的内部类Criteria,Criteria中的方法是定义SQL 语句where后的查询条件。

2.插入数据
①insert()

User user = new User();
user.setId("dsfgsdfgdsfgds");
user.setUsername("admin");
user.setPassword("admin")
user.setEmail("wyw@163.com");
XxxMapper.insert(user);
//相当于:insert into user(ID,username,password,email) values ('dsfgsdfgdsfgds','admin','admin','wyw@126.com');

3.更新数据
①updateByPrimaryKey()

User user =new User();
user.setId("dsfgsdfgdsfgds");
user.setUsername("wyw");
user.setPassword("wyw");
user.setEmail("wyw@163.com");
XxxMapper.updateByPrimaryKey(user);
//相当于:update user set username='wyw', password='wyw', email='wyw@163.com' where id='dsfgsdfgdsfgds'

②updateByPrimaryKeySelective()

User user = new User();
user.setId("dsfgsdfgdsfgds");
user.setPassword("wyw");
XxxMapper.updateByPrimaryKey(user);
//相当于:update user set password='wyw' where id='dsfgsdfgdsfgds'

③ updateByExample() 和 updateByExampleSelective()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("admin");
User user = new User();
user.setPassword("wyw");
XxxMapper.updateByPrimaryKeySelective(user,example);
//相当于:update user set password='wyw' where username='admin'

updateByExample()更新所有的字段,包括字段为null的也更新,建议使用 updateByExampleSelective()更新想更新的字段

4.删除数据

XxxMapper.deleteByPrimaryKey(1);  //相当于:delete from user where id=1

②deleteByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("admin");
XxxMapper.deleteByExample(example);
//相当于:delete from user where username='admin'

5.查询数据数量
①countByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("wyw");
int count = XxxMapper.countByExample(example);
//相当于:select count(*) from user where username='wyw'

转自:https://blog.csdn.net/biandous/article/details/65630783

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧农业是一种结合了现代信息技术,包括物联网、大数据、云计算等,对农业生产过程进行智能化管理和监控的新模式。它通过各种传感器和设备采集农业生产中的关键数据,如大气、土壤和水质参数,以及生物生长状态等,实现远程诊断和精准调控。智慧农业的核心价值在于提高农业生产效率,保障食品安全,实现资源的可持续利用,并为农业产业的转型升级提供支持。 智慧农业的实现依赖于多个子系统,包括但不限于设施蔬菜精细化种植管理系统、农业技术资料库、数据采集系统、防伪防串货系统、食品安全与质量追溯系统、应急追溯系统、灾情疫情防控系统、农业工作管理系统、远程诊断系统、监控中心、环境监测系统、智能环境控制系统等。这些系统共同构成了一个综合的信息管理和服务平台,使得农业生产者能够基于数据做出更加科学的决策。 数据采集是智慧农业的基础。通过手工录入、传感器自动采集、移动端录入、条码/RFID扫描录入、拍照录入以及GPS和遥感技术等多种方式,智慧农业系统能够全面收集农业生产过程中的各种数据。这些数据不仅包括环境参数,还涵盖了生长状态、加工保存、检验检疫等环节,为农业生产提供了全面的数据支持。 智慧农业的应用前景广阔,它不仅能够提升农业生产的管理水平,还能够通过各种应用系统,如库房管理、无公害监控、物资管理、成本控制等,为农业生产者提供全面的服务。此外,智慧农业还能够支持政府监管,通过发病报告、投入品报告、死亡报告等,加强农业产品的安全管理和质量控制。 面对智慧农业的建设和发展,存在一些挑战,如投资成本高、生产过程标准化难度大、数据采集和监测的技术难题等。为了克服这些挑战,需要政府、企业和相关机构的共同努力,通过政策支持、技术创新和教育培训等手段,推动智慧农业的健康发展。智慧农业的建设需要明确建设目的,选择合适的系统模块,并制定合理的设备布署方案,以实现农业生产的智能化、精准化和高效化。
### 回答1: MyBatis Mapper 接口和 XML 是 MyBatis 框架中的两个重要组成部分。 Mapper 接口是一个 Java 接口,用于定义 SQL 语句的映射方法。在 Mapper 接口中,我们可以使用注解或 XML 配置文件来定义 SQL 语句,并将其映射到 Java 方法中。 XML 文件是用于配置 MyBatis 的 SQL 映射关系的文件。在 XML 文件中,我们可以定义 SQL 语句、参数映射、结果映射等信息,以及与 Mapper 接口中的方法进行映射。 通过使用 MyBatis Mapper 接口和 XML 文件,我们可以方便地进行 SQL 语句的映射和执行,从而实现数据访问层的开发。 ### 回答2: MyBatis MapperMyBatis 框架中用于定义 SQL MAP 的一个组件,可以通过 XML 文件或者 Java 接口来进行定义,其中 XML 文件和 Java 接口的组合是 Mapper 的一个典型实现。 首先,MyBatisMapper 接口是用于定义 SQL 的,通过在接口中定义抽象方法,并使用注解或者 XML 文件来映射 SQL 语句。使用接口的优势是可以很好地避免 SQL 语句的硬编码,通过方法名和参数来动态生成 SQL 语句,提高了代码的可读性和可维护性。另外,Mapper 接口还可以进行参数映射、结果集映射等操作,使得开发者可以更加方便地操作数据库。 而 MyBatis Mapper XML 文件则是用于描述 SQL 语句的,通过在 XML 文件中定义映射关系来实现 SQL 语句的执行。Mapper XML 文件可以包括多个 SQL 语句,每个语句都有一个唯一的 ID 用于标识。在 Mapper XML 文件中,还可以对 SQL 语句进行参数、结果集映射,从而更好地与 Java 对象进行交互。 当 Mapper 接口和 XML 文件组合起来使用时,可以更加灵活地操作数据库。通常情况下,使用接口和 XML 文件的组合方式可以提高开发效率,同时也能保持代码的整洁和可读性。此外,MyBatis 还提供了一些自定义标签和语言解析器,使得开发者能够更加方便地描述 SQL 语句,提高了编写 SQL 语句的效率和可维护性。 总之,MyBatis Mapper 接口和 XML 文件是 MyBatis 框架中重要的组件,可以帮助开发者更好地操作数据库。一个好的 Mapper 接口和 XML 文件的设计能够提高开发效率和代码质量,建议开发者在使用 MyBatis 框架时重视 Mapper 的设计。 ### 回答3: Mybatis是一款优秀的ORM框架,它的核心思想是将Java对象映射到数据库中的表,同时提供了强大的SQL语句执行能力,使得开发人员可以方便地操作数据库。MapperMybatis最重要的组件之一,它负责定义数据访问对象的接口和SQL映射文件,与XML配置文件配合使用,完成对数据库的操作。 MybatisMapper接口和XML文件是分离的,但是两者之间有一一对应的关系Mapper接口定义了数据访问对象的方法,方法名和参数与SQL映射文件中定义的SQL语句对应,返回值则是Java对象或者基本类型。例如,下面是一个简单的Mapper接口定义: public interface UserMapper { User selectUserById(int id); } 其中,selectUserById方法定义了根据用户id查询用户信息的SQL语句。在对应的SQL映射文件中,需要使用<select>标签来定义这个SQL语句,并指定对应的Mapper接口方法: <select id="selectUserById" parameterType="int" resultType="User"> select * from t_user where id = #{id} </select> 这个SQL语句可以根据传入的参数id,查询t_user表中对应的用户信息,并将查询结果映射到User对象中。 MybatisMapper接口和XML文件的优势在于其分层设计和松耦合能力。Mapper接口可以直接与Java业务逻辑层结合使用,而无需编写复杂的SQL语句,使得开发人员可以更加关注业务逻辑的实现。而SQL映射文件则可以抽象出数据库操作,并提供了更加强大的SQL执行和调优能力,可以满足复杂的数据查询和更新要求。同时,由于Mapper接口和XML文件是分离的,使得对数据访问对象的修改和维护更加方便,可以快速响应业务变化。 总之,MybatisMapper接口和XML文件设计是其优秀性能的重要原因之一,使得Mybatis的应用在大型的数据访问场景中表现出色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值