mybatis 学习03
使用注解开发
- 注解只有在比较简单的环境下开发
- 属性名和字段名不一致的问题解决不了
步骤:
- 直接在接口方法上添加
sql
语句注解
@Select("select * from user where id=#{id}")
User getUser(int id);
- 添加Mapper映射文件
<mappers>
<!--<mapper resource="com/xu/dao/UserMapper.xml"/>-->
<mapper class="com.xu.dao.UserMapper"></mapper> //用class的方式来实现
</mappers>
- 测试
@Test
public void getUser() {
SqlSession sqlSession = myBatisUtil.getSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user=userMapper.getUser(1);
System.out.println(user);
sqlSession.close();
}
注解开发CURD
- 增删改的时候就必须在
getSqlsession
的时候设置自动提交事务
public static SqlSession getSession() {
return sqlSessionFactory.openSession(true); //此处的openSession用true就是设置自动提交事务
}
lombok 插件使用
- 偷懒神器,可以用注解来写构造函数和getter/setter,to_string,equals
步骤:
- IEDA 安装插件
- 导入依赖
- 直接在实体类上使用注解
- @Getter and @Setter
@FieldNameConstants
@ToString
@EqualsAndHashCode
@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor
@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog, @Flogger, @CustomLog
@Data
@Builder
//用完lombok注解后的实体类
@Data //getter setter toString equals
@AllArgsConstructor //有参构造
@NoArgsConstructor //无参构造
public class User {
private int id;
private String name;
private String password;
}
复杂查询环境搭建
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2CXnvgBU-1633673234316)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211008140628689.png)]