Mybatis基础使用(xml篇)

一、方法中多参传入

  • 在接口方法的参数前加 @Param属性(否则xml中参数系统无法识别匹配)
  • 多个参数mybatis会做特殊处理,将多个参数封装成一个map,#{}就是从map中获取指定的key值
//通过密码和名字查询用户
User selectUserByPwd(@Param("username") String username,@Param("pwd") String pwd);
<select id="selectUserByPwd" resultType="com.xc.entity.User">
  select * from user where name = #{username} and pwd = #{pwd}
</select>
  • 在接口方法中,参数直接传递Map;(系统则把key作为xml中参数标准)
    List<User> getUserByIdAndName(Map<String,Object> map);
    <select id="getUserByIdAndName" resultType="com.xc.entity.User" >
        select * from user where id = #{id} and name = #{name}
    </select>
	 Map<String, Object> map = new HashMap<>();
	 map.put("id",1);
	 map.put("name","zhangsan");
	 List<User> userByIdAndName = userDao.getUserByIdAndName(map);

二、resultMap自定义结果集

1)属性值介绍

在这里插入图片描述

2)级联属性,一对一

在这里插入图片描述

3)一对一

在这里插入图片描述

4)一对多,嵌套结果集

在这里插入图片描述

5)分步查询

在这里插入图片描述

6)if判断标签,可以去掉前面多余的and 或者 也可以使用 1=1

在这里插入图片描述

7)trim字符串截取

在这里插入图片描述

8)foreach循环

在这里插入图片描述

9)choose 选择标签

在这里插入图片描述

10)update set值 去除最后多余逗号

在这里插入图片描述
在这里插入图片描述

11)MySql 批量插入

方式一:
在这里插入图片描述
方式二:
在这里插入图片描述

11)Oracl 批量插入

方式一:
在这里插入图片描述
方式二:
在这里插入图片描述

12)sql标签-抽取重用sql片段

在这里插入图片描述

三、#{}和${}区别

  1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。
  2. $将传入的数据直接显示生成在sql中。则传入or 1 = 1,则会造成sql注入。
  3. mybatis 排序order by 动态参数时,使用$.

四、模糊查询

1. sql中字符串拼接
select * from user where name like concat(‘%’,#{name},‘%’); mysql支持两头拼接
select * from user where name like concat(concat(‘%’,#{name}),‘%’);oracle只能一边拼接
2. 使用${}
select * from user where name like ‘% ${name}%’
3.程序中拼接
select * from user where name like #{name}; name = “%” + name + “%”;
4.匹配
select * from user where name ‘%’ || #{name} || ‘%’;

五、日志sql

mybatis-config.xml 核心配置文件中添加。

<settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

集成springboot yml配置文件

mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以在Java应用程序中使用MyBatis框架来简化数据库访问。MyBatis使用XML配置文件来映射Java对象到数据库表中的记录,这些XML文件描述了如何执行SQL查询和更新操作。MyBatisXML文件通常包括mapper接口和对应的SQL语句。这些SQL语句可以使用参数和结果映射来执行数据库操作,并将结果映射回Java对象。 ### 回答2: MyBatis 是一种开源的持久层框架,它可以与 Java 应用程序集成,用于简化数据库操作。在 MyBatis 中,我们可以使用 XML 文件来配置 SQL 语句,这种方式被广泛应用。 首先,使用 MyBatisXML 文件可以将 SQL 语句与 Java 代码进行分离,使得代码更加清晰和易于维护。通过将 SQL 语句写在 XML 文件中,开发人员可以将精力集中在 Java 代码的编写上,而不用关注 SQL 语句的书写和优化。这样可以提高开发效率,并且降低了出错的概率。 其次,使用 XML 文件配置 SQL 语句还可以实现动态 SQL。在 MyBatis 中,我们可以通过使用 XML 文件中的标签(如 if、choose、foreach 等)来实现根据不同条件生成不同的 SQL 语句。这样可以根据具体的业务需求来动态生成 SQL 语句,而不需要写大量的重复代码。 此外,MyBatis 中的 XML 文件还可以用于配置数据库连接信息、结果映射、数据源、事务管理等。通过配置 XML 文件,开发人员可以方便地进行数据库连接和事务的管理,而不需要手动编写繁琐的数据库连接和事务代码。 总结来说,MyBatis 使用 XML 文件的方式可以简化数据库操作,并且使代码更加易读、易维护。使用 XML 文件可以将 SQL 语句和 Java 代码分离,实现动态 SQL,并提供了方便的配置选项,使得开发更加高效。 ### 回答3: MyBatis是一种流行的Java持久化框架,它使用XML文件来配置持久化操作。在MyBatis中,我们可以通过编写XML文件来定义数据库操作的SQL语句。 XML文件是MyBatis中最重要的配置文件之一,它包含了数据源的配置、SQL语句的定义以及结果映射等信息。使用XML文件可以帮助我们更好地组织和管理SQL语句,使得代码更加清晰和易读。 在XML文件中,我们首先需要配置数据源的相关信息,例如数据库的连接URL、用户名、密码等。这些信息将用于建立数据库连接。 接下来,我们可以定义SQL语句。在XML文件中,我们使用<sql>标签来定义SQL语句。通过使用<insert>、<update>、<delete>和<select>等标签,我们可以定义不同类型的SQL操作。在这些标签中,我们可以指定SQL语句的名称、类型以及具体的SQL语句内容。 另外,我们还可以在XML文件中定义结果映射。结果映射用于将查询结果映射为Java对象。我们可以通过使用<resultMap>标签来定义结果映射,通过指定查询返回的列与Java对象中属性的对应关系来实现映射。 最后,在Java代码中使用MyBatis时,我们需要通过读取XML文件来获取配置信息,并根据配置信息建立数据库连接。通过执行SQL语句,我们可以实现对数据库的增删改查操作。在执行SQL语句时,MyBatis会将XML文件中定义的SQL语句解析成具体的SQL语句,并将返回结果映射为Java对象。 总之,使用XML文件是MyBatis的一种常见配置方式,它可以帮助我们更好地组织和管理SQL语句,并将查询结果映射为Java对象。通过使用XML文件,我们可以更加灵活地配置和使用MyBatis框架。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冬天vs不冷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值