参考官网:
https://mp.baomidou.com/guide/#%E7%89%B9%E6%80%A7
相关知识点:
druid数据源:
Druid是阿里巴巴开源的一个数据源,主要用于java数据库连接池,相比spring推荐的DBCP和hibernate推荐的C3P0、Proxool数据库连接池,Druid在市场上占有绝对的优势;
******************出现问题一 一直提示**********
Failed to read artifact descriptor for
后来发现这个包没了,在这里看
一般出现的,都是有这个提示的
************************问题二*******************
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
上面的依赖是干嘛的呢?
Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。
Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。
参考这篇博客
https://www.cnblogs.com/heyonggang/p/8638374.html
public class cat {
@Getter
@Setter
private int age = 10;
}
就会自动有了setAge方法了。
cat ct = new cat();
ct.setAge(111);
ct.getAge();
哈哈 ,好厉害的库啊。。佩服。
*****************************************经过好久的折腾,终于可以用了****************************
可以获取数据库的数据了。。。
记录一下:
首先创建一张表
设置依赖 设置mybatis总线依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.2</version>
</dependency>
由于我是mysql数据库,设置数据库依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.3</version>
</dependency>
由于我使用了阿里巴巴的druid库,这里也需要设置依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.18</version>
</dependency>
由于我使用了Lombok来自动生成get和set,设置依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.18</version>
</dependency>
******************设置配置********************
主要是用户名和密码等,要设置正确。
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
schema: classpath:db/schema-h2.sql
data: classpath:db/data-h2.sql
url: jdbc:mysql://localhost:3306/test
username: root
password: sa
filters: stat
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20
定义表与类的映射类
@Data
@TableName("ttuser")
public class ttuser {
private Long id;
private String name;
private Integer age;
private String email;
}
再定义一个接口类:
@Mapper
public interface ttuserMapper extends BaseMapper<ttuser> {
}
这样就可以获取数据了
@Autowired
private ttuserMapper ttuserMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<ttuser> userList = ttuserMapper.selectList(null);
Assert.assertEquals(5, userList.size());
userList.forEach(System.out::println);
}
***********************************通过继承接口,可以直接在service层调用数据库***********************
示例如下:
@Service
public class ttuserService extends ServiceImpl<ttuserMapper,ttuser>{
public List<ttuser> SelectUser()
{
return baseMapper.selectList(null);
}
}
编写测试程序
注入service类
@Autowired
private ttuserService ttuserService;
@Test
public void testService() {
System.out.println(("----- selectAll method test ------"));
ttuserService.SelectUser().forEach(System.out::println);
}
打印数据: