Mybatis使用注解开发
Mybatis使用注解开发
1.使用注解开发
注解直接在接口上实现
@Select("select * from user ")
List<User> getUser();
需要在核心配置中绑定接口!
<!--绑定接口-->
<mappers>
<mapper class="dao.UserMapper"/>
</mappers>
测试
本质: 反射机制实现
底层: 动态代理!
2. 注解完成CRUD
工具类创建是可以自动提交事务
public static SqlSession getSqlsession(){
return sqlSessionFactory.openSession(true);
}
编写接口,增加注解
public interface UserMapper {
//获取全部用户
@Select("select * from user ")
List<User> getUser();
@Select("select * from user where id = #{id}")
User getUserById(@Param("id") int id);
// @Param注解 基本类型都加<但是不是必须的>,加了就以注解为主
@Insert("insert into user(id,name,pwd,sex)values(#{id},#{name},#{pwd},#{sex})")
int addUser(User user);
@Update("update user set name=#{name},pwd=#{pwd},sex=#{sex} where id =#{id}")
int updateUser(User user);
@Delete("delete from user where id=#{uid}")
int deleteUser(@Param("uid") int id);
}
测试类
@Test
public void test(){
SqlSession sqlsession = MyBatisUntil.getSqlsession();
//底层主要应用反射
UserMapper mapper = sqlsession.getMapper(UserMapper.class);
/* for (User user : mapper.getUser()) {
System.out.println(user);
}*/
/*User userById = mapper.getUserById(1);
System.out.println(userById);*/
/* int i = mapper.addUser(new User(4, "万物", "123", "男"));
System.out.println(i);*/
/* int i = mapper.updateUser(new User(4, "王五", "123", "男"));
System.out.println(i);*/
// int i = mapper.deleteUser(4);
sqlsession.close();
}
[注意: 将接口绑定到核心配置文件中]
关于@param()注解
- 基本类型的参数或者String类型,需要加上
- 引用类型不需要加
- 如果只有一个基本类型的话,可以忽略,但是建议加上
- 在SQL中引用的就是@param(”Uiod”)中设定的属性名
浙公网安备 33010602011771号