SpringBoot之mybatis-plus

参考官网:

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

后来发现这个包没了,在这里看

 

SpringBoot之mybatis-plus_第1张图片

 一般出现的,都是有这个提示的

SpringBoot之mybatis-plus_第2张图片

 

************************问题二*******************

		
			org.projectlombok
			lombok
			1.16.18
			provided
		

上面的依赖是干嘛的呢?

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();

哈哈 ,好厉害的库啊。。佩服。

*****************************************经过好久的折腾,终于可以用了****************************

SpringBoot之mybatis-plus_第3张图片

 可以获取数据库的数据了。。。

记录一下:

首先创建一张表

SpringBoot之mybatis-plus_第4张图片

 

 设置依赖 设置mybatis总线依赖

		
			com.baomidou
			mybatis-plus-boot-starter
			3.1.2
		

由于我是mysql数据库,设置数据库依赖

		
			mysql
			mysql-connector-java
			5.1.3
		

由于我使用了阿里巴巴的druid库,这里也需要设置依赖

		
			com.alibaba
			druid-spring-boot-starter
			1.1.18
		

由于我使用了Lombok来自动生成get和set,设置依赖

		
			com.alibaba
			druid-spring-boot-starter
			1.1.18
		

******************设置配置********************

 主要是用户名和密码等,要设置正确。

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 {
}

 

这样就可以获取数据了

@Autowired
	private  ttuserMapper ttuserMapper;

	@Test
	public void testSelect() {
		System.out.println(("----- selectAll method test ------"));
		List userList = ttuserMapper.selectList(null);
		Assert.assertEquals(5, userList.size());
		userList.forEach(System.out::println);
	}

***********************************通过继承接口,可以直接在service层调用数据库***********************

示例如下:

@Service
public class ttuserService extends ServiceImpl{
 public List 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);
	}

 打印数据:

SpringBoot之mybatis-plus_第5张图片

你可能感兴趣的:(springboot)