MyBatis笔记02 - 增删改查操作

本文详细介绍了使用 MyBatis 对 users 表进行增删改查 (CRUD) 的两种方式:通过 XML 映射文件及注解实现。包括 SQL 语句的具体写法、配置文件注册以及 DAO 层调用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3. 操作users表的CRUD


3.1 XML的实现

1). 定义sql映射xml文件:

<!-- 增 -->
<insert id="insertUser" parameterType="com.atguigu.ibatis.bean.User">
	insert into users(name, age) values(#{name}, #{age});
</insert>

<!-- 删 -->
<delete id="deleteUser" parameterType="int">
	delete from users where id=#{id}
</delete>

<!-- 改 -->
<update id="updateUser" parameterType="com.atguigu.ibatis.bean.User">
	update users set name=#{name},age=#{age} where id=#{id}
</update>

<!-- 查 -->
<select id="selectUser" parameterType="int" resultType="com.atguigu.ibatis.bean.User">
	select * from users where id=#{id}
</select>
		
<select id="selectAllUsers" resultType="com.atguigu.ibatis.bean.User">
	select * from users
</select>


2). 在config.xml中注册这个映射文件

<mapper resource=" com/atguigu/ibatis/bean/userMapper.xml"/>


3). 在dao中调用:

public User getUserById(int id) {
	SqlSession session = sessionFactory.openSession();
	User user = session.selectOne(URI+".selectUser", id);
	return user;
}


3.2 注解的实现

1). 定义sql映射的接口

public interface UserMapper {
	@Insert("insert into users(name, age) values(#{name}, #{age})")
	public int insertUser(User user);


	@Delete("delete from users where id=#{id}")
	public int deleteUserById(int id);
			
	@Update("update users set name=#{name},age=#{age} where id=#{id}")
	public int updateUser(User user);


	@Select("select * from users where id=#{id}")
	public User getUserById(int id);


	@Select("select * from users")
	public List<User> getAllUser();
}

2). 在config中注册这个映射接口

<mapper class="com.atguigu.ibatis.crud.ano.UserMapper"/>


3). 在dao类中调用

public User getUserById(int id) {
	SqlSession session = sessionFactory.openSession();
	UserMapper mapper = session.getMapper(UserMapper.class);
	User user = mapper.getUserById(id);
	return user;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值