SpringBoot 整合mybatis (注解版)

1,导入Maven依赖

        <!--mybatis依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!--druid依赖-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.18</version>
        </dependency>
        <!--日志依赖-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>

如果是使用IDEA开发的可以选择快速开发springboot会自动导入pom文件,也不用写springboot启动类。

(1)

 (2)

(3)

 

 

1.1,springboot启动类

@SpringBootApplication
public class JdbcSpringbootApplication {
    public static void main(String[] args) {
        SpringApplication.run(JdbcSpringbootApplication.class, args);
    }
}

2,编写application.yml文件,配置datasource

spring:
  datasource:
     username: root
     password: 123456
     url: jdbc:mysql://192.168.84.128:3309/test
     driverClassName: com.mysql.cj.jdbc.Driver
     initialSize: 5
     minIdle: 5
     maxActive: 20
     maxWait: 60000
     timeBetweenEvictionRunsMillis: 60000
     minEvictableIdleTimeMillis: 300000
     validationQuery: SELECT 1 FROM DUAL
     testWhileIdle: true
     testOnBorrow: false
     testOnReturn: false
     poolPreparedStatements: true
     filters: stat,wall,log4j
     maxPoolPreparedStatementPerConnectionSize: 20
     useGlobalDataSourceStat: true
     connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
     type: com.alibaba.druid.pool.DruidDataSource

3,编写DruidConfig(如果使用默认的连接池将不用配置druid)

@Configuration
public class DruidConfig {
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource druid(){
        return new DruidDataSource();
    }

    @Bean
    public ServletRegistrationBean statViewServlet(){
        ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
        Map<String,String> params = new HashMap<String,String>();
        params.put("loginUsername","admin");//设置后台登录名
        params.put("loginPassword","666");//密码
        params.put("allow","");//设置默认就是允许所有访问
        params.put("deny","192.168.84.129");//设置黑名单
        bean.setInitParameters(params);
        return bean;
    }

    @Bean
    public FilterRegistrationBean webStatFilter(){
        FilterRegistrationBean frb = new FilterRegistrationBean();
        frb.setFilter(new WebStatFilter());
        Map<String,String> params = new HashMap<String,String>();
        params.put("exclusions","*.js,*.css,/druid/*");//设置不拦截请求
        frb.setInitParameters(params);
        frb.setUrlPatterns(Arrays.asList("/*"));//拦截请求
        return  frb;
    }
}

3.1,编写pojo类(略)。

4,编写Mapper(使用注解方式进行增、删、改、查)

public interface StudentMapper {
    // 增
    @Options(useGeneratedKeys = true,keyProperty = "id")//添加完返回对象中有id值不为null,id自增长
    @Insert("insert into student(sname)values(#{sname})")
    public int insert(Student student);//这个#{sname}要和pojo里面的属性对应
    // 删
    @Delete("delete from student where id=#{id}")
    public int delete(Integer id);
    // 改
    @Update("update student set sname=#{sname} where id=#{id}")//这个#{sname}和#{id}要和pojo里面的属性对应
    public int update(Student student);
    // 查
    @Select("select id,sname from student")
    public List<Student> selectAll();

    @Select("select id,sname from student where id=#{id}")
    public Student selectById(Integer id);
}

5,编程Controller(略过Service层了)

@MapperScan("com.example.jdbc_springboot.mapper")//扫描Mapper包下的Mapper接口
@RestController
public class StudentController {
    @Autowired
    StudentMapper studentMapper;
    //增
    @RequestMapping("/add")
    public Student add(){
        Student s=new Student();
        s.setSname("hongnie");
        studentMapper.insert(s);
        return s;
    }
    //删
    @RequestMapping("/del")
    public int del(){
        return studentMapper.delete(2);
    }
    //改
    @RequestMapping("/update")
    public int update(){
        Student s=new Student();
        s.setSname("wawa");
        s.setId(1);
        return studentMapper.update(s);
    }
    //查
    @RequestMapping("/queryAll")
    public List<Student> queryAll(){
        return studentMapper.selectAll();
    }
    @RequestMapping("/query")
    public Student queryByid(){
        return studentMapper.selectById(1);
    }
}

6,启动 测试(数据库test 表student 要存在)

 

druid监控sql:

 

完。 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值