SQL映射文件详解

1.sql映射文件

1、mapper:SQL映射文件的根元素。只有一个属性namespace,用于区分不同的mapper,必须全局唯一。
2、cache:为给定命名空间配置缓存。
3、cache-ref:引用其他命名空间中的缓存配置。
4、resultMap:用来描述查询结果集中的字段和Java实体类属性的对应关系。
5、sql:定义可重用的SQL语句块,可以在其他语句映射中引用,提高编写和维护SQL语句的效率。
6、insert:映射insert语句。
7、update:映射update语句。
8、delete:映射delete语句。
9、select:映射select语句。

2.1实现单一条件查询

单一条件查询:一个简单数据类型的查询条件,一个基本数据类型或其包装类型,或一个string类型等,MyBatis框架的处理方式非常简单。

2.2MyBatis框架内建的部分别名与Java数据类型的映射关系

除MyBatis框架内建的类型别名外,还可以在核心配置文件(mybatis-config.xml)中使用typeAliases元素为自定义的Java类型设置别名。

2.1实现多条件查询

1.查询条件封装成Java对象作为入参

/**
 * 查询用户列表
 *
 * @param sysUser
 * @return
 */
List<SysUser> getUserListByPojo(SysUser sysUser);

2.查询条件封装成Map对象作为入参

/**
 * 查询用户列表
 *
 * @param userMap
 * @return
 */
List<SysUser> getUserListByMap(Map<String, Object> userMap);

3.使用@Param注解实现多参数入参

/**
 * 查询用户列表
 *
 * @param realName
 * @param roleId
 * @return
 */
List<SysUser> getUserListByParams(@Param("realName") String realName, @Param("roleId") int roleId);
SQL映射文件是指在使用对象关系映射(ORM)框架时,为了将对象与数据库表进行映射而创建的文件。在Java开发中,常用的ORM框架有MyBatis和Hibernate,它们都支持使用SQL映射文件来定义对象与数据库表之间的映射关系。 SQL映射文件通常使用XML格式来编写,包含了一系列的SQL语句和配置信息。下面是一个简单的SQL映射文件示例: ```xml <!-- UserMapper.xml --> <mapper namespace="com.example.UserMapper"> <select id="getUserById" resultType="com.example.User"> SELECT * FROM users WHERE id = #{id} </select> <insert id="insertUser" parameterType="com.example.User"> INSERT INTO users (name, age) VALUES (#{name}, #{age}) </insert> <update id="updateUser" parameterType="com.example.User"> UPDATE users SET name = #{name}, age = #{age} WHERE id = #{id} </update> <delete id="deleteUser" parameterType="int"> DELETE FROM users WHERE id = #{id} </delete> </mapper> ``` 在上述示例中,`namespace`属性指定了映射文件对应的Mapper接口或类的全限定名。`select`、`insert`、`update`和`delete`标签分别定义了查询、插入、更新和删除操作的SQL语句,使用`id`属性指定了方法名,`parameterType`属性指定了方法参数的类型,`resultType`属性指定了查询结果的映射类型。 通过SQL映射文件,我们可以将数据库操作的SQL语句独立出来,降低了代码和SQL的耦合度,使得代码更加清晰、易于维护。ORM框架会根据映射文件中的配置信息,自动将对象与数据库表进行映射,简化了开发过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值