7.1面向接口编程
1.注解在接口上实现
@Select("select * from user")
List<User> getUsers();
2.需要在核心配置文件中绑定接口
<!--绑定接口-->
<mappers>
<mapper class="com.kuang.dao.UserMapper"/>
</mappers>
3.测试
本质:反射机制实现
底层:动态代理
7.2CRUD(注解的增删查改)
我们可以在工具流创建的时候自动提交事务,手动提交事务即commit()方法。
在工具类中使用
public static SqlSession getSqlSession() {
//创建一个可以执行的sql对象
return sqlSessionFactory.openSession(true);
}
编写接口,增加注解(对于注解声明的变量名,优先使用注解的变量名)
@Select("select * from user")
List<User> getUsers();
//方法存在多个参数,参数的前面必须加上@Param("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=#{id} ")
int deleteUser(@Param("id") int id);
测试类
我们必须要将接口注册到我们的核心配置文件当中
关于@Param()注解:
- 基本类型的参数或者String类型的参数,需要加上
- 引用类型不需要加
- 如果只有一个基本类型的话,可以忽略,但是建议大家都加上
- 我们在SQL中引用的就是我们在这里的@Param(“uid:)中设定的属性。