文章目录
一、Mybatis 注解的使用
在 Mybatis 中如果使用注解式开发,那么注解需要添加在 Mapper 接口中的抽象方法上,在注解中给定需要执行的 SQL 语句即可,这样就可以不需要映射配置文件。MyBatis 支持纯注解方式,支持纯映射配置文件方式,也支持注解和映射配置文件混合形式。当只有接口没有映射配置文件时在 mybatis-cfg.xml 中对于引入映射可以通过加载指定接口类。也可以使用指定加载的包。
二、 使用注解完成查询
1、查询所有用户
1.1、 修改 UsersMapper 接口
public interface UsersMapper {
@Select("select * from users")
List<Users> selectUsersAll();
}
1.2、 创建测试类
public class SelectUsersAllTest {
public static void main(String[] args) {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UsersMapper usersMapper = sqlSession.getMapper(UsersMapper.class);
List<Users> list = usersMapper.selectUsersAll();
list.forEach(System.out::println);
}
}
2、注解式开发时的参数传递
2.1、 顺序传参法
//顺序传参法
@Select("select * from users where username = #{param1} and usersex = #{param2}")
List<Users> selectUsersByNameAndSexOrder(String username,String usersex);
@Select("select * from users where username = #{name} and usersex = #{sex}")
List<Users> selectUsersByNameAndSexOrder2(@Param("name") String username, @Param("sex") String usersex);
2.2、 POJO 传参法
//POJO传参法
@Select("select * from users where username = #{username} and usersex = #{usersex}")
List<Users> selectUsersByNameAndSexPOJO(Users users);
2.3、 Map 传参法
//Map传参法
@Select("select * from users where username = #{keyname} and usersex = #{keysex}")
List<Users> selectUsersByNameAndSexMap(Map<String ,String >map);
三、使用注解完成DML操作
1、实现添加用户操作
1.1、修改UsersMapper接口
//添加用户
@Insert("insert into users values(default,#{username},#{usersex})")
int insertUsers(Users users);
1.2、创建测试类
public class InsertUsers2Test {
public static void main(String[] args) {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UsersMapper usersMapper = sqlSession.getMapper(UsersMapper.class);
Map<String ,String > map = new HashMap<>();
map.put("name","yiyi");
map.put("sex","famale");
int flag = usersMapper.insertUsers2(map);
System.out.println(flag);
sqlSession.commit();
}
}
2、实现用户更新操作
2.1、修改UsersMapper接口
@Update("update users set userid = #{id},username = #{name},usersex =#{sex} where username = #{prename}")
int updateUsers2(Map<String,String>map);
2.2、创建测试类
public class UpdateUsers2Test {
public static void main(String[] args) {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UsersMapper usersMapper = sqlSession.getMapper(UsersMapper.class);
Map<String,String> map = new HashMap<>();
map.put("id","3");
map.put("name","nine");
map.put("sex","female");
map.put("prename","kkkkkkkkkkk"