MyBatis:配置文件Mapper.xml
程序员文章站
2022-04-22 10:37:01
...
目录
一、Mapper.xml 的作用?
MyBatis 框架是一个“半自动”的 ORM 框架,SQL 语句需要开发者自定义,MyBatis 框架的关注点在于 Java Bean 于 SQL 之间的映射关系,自定义的 SQL 语句定义在 Mapper.xml 中。
二、Mapper.xml 常用属性
1、parameterType 参数数据类型
通过 id 查询 User。
UserRepository
//通过 id 查询 User
public User findById(int id);
UserRepository.xml
<select id="findById" parameterType="int" resultType="com.spring.entity.User">
select * from t_user where id = #{id}
</select>
通过 username 查询 User。
UserRepository
//通过 username 查询 User
public User findByUsername(String username);
UserRepository.xml
<select id="findByUsername" parameterType="java.lang.String" resultType="com.spring.entity.User">
select * from t_user where username = #{username}
</select>
通过 age 查询 User。
UserRepository
//通过 age 查询 User
public User findByAge(Integer age);
UserRepository.xml
<select id="findByAge" parameterType="java.lang.Integer" resultType="com.spring.entity.User">
select * from t_user where age = #{age}
</select>
通过 username 和 age 查询 User。两个参数分别是 String 类型和 int 类型,类型不一致,所以此时 parameterType 可以省略,通过参数下标取出参数值。
UserRepository
//通过username和age查询User
public User findByUsernameAndAge(String username,int age);
UserRepository.xml
<select id="findByUsernameAndAge" resultType="com.spring.entity.User">
select * from t_user where username = #{param1} and age = #{param2}
</select>
当同时存在多个参数时,通过下标一个一个写很麻烦,这时候可以将参数列表进行封装,将封装的对象作为 paramterType 的值。
UserRepository
//通过User封装对象查询User
public User findByUser(User user);
UserRepository.xml
<select id="findByUser" parameterType="com.spring.entity.User" resultType="com.spring.entity.User">
select * from t_user where username = #{username} and age = #{age}
</select>
2、resultType:结果类型
统计 User 总数。
UserRepository
//统计User总数
public int count();
UserRepository.xml
<select id="count" resultType="int">
select count(*) from user
</select>
统计 User 总数。
UserRepository
//统计User总数
public Integer count();
UserRepository.xml
<select id="count" resultType="java.lang.Integer">
select count(*) from t_user
</select>
根据 id 查询 User 的 username。
UserRepository
//根据 id 查询 User 的 username
public String findNameById(int id);
UserRepository.xml
<select id="count" resultType="int">
select count(*) from user
</select>
通过 id 查询 User
UserRepository
//根据 id 查询 User
pulbic User findById(int id);
UserRepository.xml
<select id="findById" parameterType="int" resultType="com.spring.entity.User">
select * from t_user where id = #{id}
</select>
推荐阅读
-
MyBatis中XML和注解的对比及使用
-
mybatis_16逆向工程
-
eclipse更改web项目访问路径(修改配置文件)
-
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
-
vue打包之后生成一个配置文件修改接口的方法
-
mybatis_09关联查询_一对一
-
mybatis_04 resultType和resultMap区别
-
mybatis_ The content of element type association must match (constructor,id,result,ass ociation,collection,discriminator)
-
mybatis_05动态SQL_if和where
-
基于mybatis batch实现批量提交大量数据