步骤
1.导入依赖
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- alibaba的druid数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>
2. application.properties配置
//数据源链接url
spring.datasource.url=jdbc:mysql://localhost:3306/springboots
//链接驱动JDBC
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
//数据源账号
spring.datasource.username=root
//数据源密码
spring.datasource.password=root
//设置静态资源文件避免maven打包后丢失
mybatis.mapper-locations=classpath:mapper/*.xml
//设置实体类扫描包
mybatis.type-aliases-package=com.wtx.demo.pojol
3目录结构
目录结构如下
启动类必须与其他包同级,不能放在同级包下,要出来
SqlMapConfig.xml内容如下
4.Mapper配置要点
Namespace别名
ResultType全名
Sql语法验证
!!!这三个点缺一不可
UserMapper.java接口配置
UserMapper中有多种方式进行配置
1.在接口类上加@Mapper
缺点是每个接口上都要加一遍
2.启动类前使用扫描包注解 @ComponentScan 扫描包
没缺点,就是记不住
5.Service配置要点
1.自动注入失败问题:因为xml文件配置在静态资源下,所有在注入时,会发生没有扫描到实体类却强行注入,失败报错的问题,所以加上 @Autowired(required=false)
就可以等待静态资源加载完后再进行注入;
Required这个属性是,不管是否有对象都进行注入,但是不会报错,影响后面的程序进行
2.要在service层的子类中添加@service注解,不然不可以自动注入