使用注解开发
1.注解在接口上实现
package com.li.dao;
import com.li.pojo.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
public interface UserMapper {
//查询全部用户
@Select("select * from user")
List<User> getUsers();
}
2.需要在核心配置文件上绑定接口
<!-- 绑定接口-->
<mappers>
<mapper class="com.li.dao.UserMapper"></mapper>
</mappers>
3.测试
本质:反射机制实现
底层:动态代理!
CRUD(增删改查)
我们可以在工具类创建的时候实现自动提交事务!
这条代码写在MybatisUtils中!
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession(true);
}
编写接口,增加注解
package com.li.dao;
import com.li.pojo.User;
import org.apache.ibatis.annotations.*;
import java.util.List;
import java.util.Map;
public interface UserMapper {
//查询全部用户
@Select("select * from user")
List<User> getUsers();
//根据id查询用户
//方法存在多个参数,每个参数前面都需要用@Param注解
@Select("select * from user where id = #{id}")
User getUserById(@Param("id") int id);
//添加用户
@Insert("insert into user(id,name,pwd) values(#{id},#{name},#{password})")
int addUser(User user);
//修改用户信息
@Update("update user set name=#{name},pwd=#{password} where id=#{id}")
int updateUser(User user);
//删除用户
@Delete("delete from user where id=#{uid}")
int deleteUser(@Param("uid") int id);
}
测试类
【注意:我们必须将接口注册绑定到我们的核心配置文件中!】
关于@Param注解
- 基本类型的参数或者String参数,需要加上!
- 引用类型不加上
- 如果只有一个参数类型,可以不加,但建议加!
- 我们在SQL中引用的是我们这里的@Param()属性名