springboot-在线教育day01
1、IDEA新建项目,没有Spring Initialize选项,如下图,install,重启
2、由于最新版本的idea不稳定,因此,以防找不到依赖,为此下载:spring assistant
http://plugins.jetbrains.com/plugin/10229-spring-assistant
解压到idea安装目录下的plugins目录下,重启idea
3、新建spring boot项目(有2种方式,第一个maven,第二个如下图)
File-new-project-Spring Initializr,接下来填上相关的名字,继续下一步即可
1),相关的界面解释
Default是默认使用https://start.spring.io/提供的在线模板,所以需要网络保持畅通
Custom是从指定的链接加载模板
2),集成mybatiesplus
官网地址:https://mp.baomidou.com/guide/
引入相关依赖,如果在线下载依赖时候,出现了错误,就删掉依赖,再重新写上去即可
3),引入lombok简化实体类
除了在pom.xml中添加依赖外,还需要在idea中添加插件
如1中搜索lombok添加
4),在配置文件application.propersties中添加数据库mysql的配置文件
#mysql数据库连接 mysql5 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus spring.datasource.username=root spring.datasource.password=12345678
#mysql8以上(spring boot 2.1) #注意:driver和url的变化 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=12345678
(1.1)、这里的 url 使用了 ?serverTimezone=GMT%2B8 后缀,也就是时区,因为Spring Boot 2.1 集成了 8.0版本的jdbc驱动,这个版本的 jdbc 驱动需要添加这个后缀,否则运行测试用例报告如下错误:
java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more
(2.1)、这里的 driver-class-name 使用了 com.mysql.cj.jdbc.Driver ,在 jdbc 8 中 建议使用这个驱动,之前的 com.mysql.jdbc.Driver 已经被废弃,否则运行测试用例的时候会有 WARN 信息
4,编写主类
1),springboot中是有一个启动类的,这个启动类位置不能放错,因为要操作数据库,所以需要新建一个实体类User,
添加注解@Data方便,不需要使用get,set方法
添加注解之后会看到相关的get,set,有参,无参构造都有
2),创建Mapper接口
注意:因为Mapper是一个接口,在做springboot启动的时候,接口要找接口对应的实现类的对象,但是他没有,所以需要在启动累上加上一个注解
@MapperScan,Scan就是扫描Mapper接口,然后去找到操作,即在后面加上mapper包的路径
@MapperScan("com.atguigu.mpdemo.mapper")
在之前有xml文件,但目前不需要自己做,因为有mybatiesplus已经做了封装,因此只需要做一件事情,就是继承苞米豆的BaseMapper<T>的类,可以自动增删改查
3),添加测试类进行功能测试
最初有controller注入service,service注入mapper,但目前写的里面还没有controller和service,但是有mapper,需要把mapper注入到test里面,
有个注解@Autowired,来注解注入进来
/**
* Could not autowire. No beans of 'UserMapper' type foun
* 需要在UserMapper上面加一个注解,一下三个加一个就行
* @Component
* @Service
* @Repository
* 加与不加都可以
*/
/**
* 测试:查询user表中的所有数据查询出来
* 可以直接更改方法名
*/
@Test
public void findAll() {
List<User> users = userMapper.selectList(null);
System.out.println(users);
}
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)报错是密码报错,修改正确密码就行
修改之后就成功,打印出数据表里面的数据
以上的及几个简单的步骤就是简单的增删改查的操作,连配置xml都不需要写
4),配置日志
#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl