1.Spring 补充
1.1 spring内部数据结构
1.数据的结构:map 可以理解为容器
2.数据内容: key_value
key:一般是类名(首字母小写)
value:一般存储的是经过反射等机制实例化的对象
3.单例:容器中只保留一个对象,spring容器管理对象的生命周期,和容器同生共死。
多例:如果用户需要使用,则创建一个新的对象给用户,对象的生命周期有用户管理。
bean文件配置说明(bean:所有杯容器管理的对象)
java <bean id = "唯一标识" class = "类的途径" /> 与map集合进行关联
2.关于环境代码报错
2.1 数据库问题
MySQL数据库版本:如果是高级别的版本,在驱动中添加.cj
2.2 IDEA版本问题
修改mybatis的路径
3.MyBatis-plus
3.1 MP介绍
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
3.2 特点说明
重点说明: MP适用于单表操作 如果遇到多表关联,则手写Sql效率更高.
3.3 MP入门案例
3.3.1 导入jar包
说明:由于MP内部兼容了mybatis,所以引入MP后需要将原来的mybatis的依赖包进行删除。
<!--spring整合mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
3.3.2 对象与表映射
3.3.3 继承公共的mapper接口
3.3.4 修改yml的配置文件
说明:springboot应该由原来的mybatis来炒作数据库,现在换成MP机制,所以应该修改springboot整合MP的操作。
3.3.5 案例
对比sql写法与/MP写法的区别
@SpringBootTest
public class TestMybatis {
// sprign容器 <userMapper,代理对象>
// 面向接口编程 扩展性好
@Autowired
private UserMapper userMapper;//JDK动态代理
//报错说明:com.jt.mapper.UserMapper.findAll 不匹配!!!!
//关于测试类代码说明: 要求: public 返回值void 方法名称不能叫test
@Test
public void test01(){
System.out.println(userMapper.getClass());
List<User> userList = userMapper.findAll(); //接口的方法 数据库只能识别Sql语句
System.out.println(userList);
}
//查询 用户的全部记录 面向对象的方式操作数据库.
//只能用于单表查询
@Test
public void testFind(){
//暂时不需要任何where条件 查询的是全部记录.
List<User> userList = userMapper.selectList(null);
System.out.println(userList);
}
}