MyBatis简单使用

发布于:2025-05-21 ⋅ 阅读:(20) ⋅ 点赞:(0)

步骤

一、添加依赖: mybatis,mariadb驱动
二、配置数据库

application.yml
spring:
	datasource:
		url: jdbc:mariadb://127.0.0.1:3306/数据库
		username: root
		password: 20040814
		driver-class-name: org.mariadb.jdbc.Driver

三、添加Mapper映射

@Mapper
public interface UserInfoMapper {
	@Select("select *from userinfo") //接口方法的实现
	List<UserInfo> getUserInfoAll();
}

参数传递

单个参数

@Select("select * from userinfo where delete_flag = #{deleteFlag}")
List<UserInfo> getUserInfoByDeleteFlag(Integer flag)

多个参数

@Select("select * from userinfo where delete_flag = #{deleteFlag} and gender = #{gender}")
List<UserInfo> getUserInfo(@Paaram("flag")Integer flag, @Param("gender")Integer gender);

结果映射

当数据库字段和Java属性不一致时
一、取别名

@Select("select id, username, password, age, gender, phone,"+"delete_flag as deleteFlag, create_time as createTime, update_time as updateTime")+"from `userinfo`")
List<UserInfo> selectUserInfos();

二、结果映射

@Select("SELECT * FROM `userinfo`")
List<UserInfo> selectUserInfos();

复用结果映射关系

@ResultMap("resultMap")
@Select("select * from userinfo")
List<UserInfo> getUserInfoAll();

@Result(id="resultMap", value={
	@Result(column = "delete_flag", property="deleteFlag"),
	@Result(column = "create_time", property="createTime"),
	@Result(column = "update_time", property="updateTime")
})
@Select("select * from `userinfo`")
List<UserInfo> selectUserInfo();

开启驼峰自动转换

mybatis:
	configuration: 
		map-underscore-to-camel-case: true

xml

<resultMap id="BaseMap" type="cn.cangli.model.UserInfo">
	<id column="id" property="id"/><!--主键-->
	<!--普通字段-->
	<result column="delete_flag" property="deleteFlag"/>
	<result column="create_time" property="createTime"/>
	<result column="update_time" property="updateTime"/>
</resultMap>
<select id="selectAllUser" resultMap="BaseMap">
	select * from userinfo
</select>