springboot 连接mysql(通过Jdbc Template)

1.在mysql中创建数据库、表并插入测试记录

--数据库
create database 'test' default character set utf8;

use test;

create table 'prov' (
'id' int(11) not null auto_increment,
'pro_name' varchar(128) default null,
'city' varchar(64) default null,
primary key('id')
)engine=InnoDB default charset=utf8;


或 (不带引号)
create table prov (
id int(11) not null auto_increment,
pro_name varchar(128) default null,
city varchar(64) default null,
primary key(id)
)engine=InnoDB default charset=utf8;


insert into 'prov'('id','pro_name','city') values (1,'江苏省','南京市'),(2,'浙江省','杭州市');

2.在IDEA中创建Spring Boot 并添加POM依赖

SpringBoot 分为四层:controller层、service层、dao层、entity层。

entity层:与 model 层类似,存放的是数据库实体类,属性值与数据库值保持一致,实现 setter 和 getter 方法。

dao层:即 mapper层,负责java和数据库交互,对数据库进行持久化操作,他的方法使针对数据库操作的,基本上用的就是增删改查,他就是个接口,只有方法名,具体实现在mapper.xml中实现。

service层:业务层,存放业务逻辑处理,不直接对数据库进行操作,有接口和接口实现类,提供 controller 层调用方法。

controller层:控制层,所有请求的入口,前后端交互的入口;导入 service层,调用你service方法,controller通过接受前端传来的参数进行业务操作,在返回一个制定的路径或数据表。

其他
Dto:数据传输对象
数据传输对象(Data Transfer Object),用于前后端数据交互。
 

 添加POM依赖:

      <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.9</version>
        </dependency>
       </dependencies>

 3.在application.properties添加数据库配置

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://192.168.40.128:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=password

 

4.创建prov 类

public class prov {
    public   Integer id;
    public  String pro_name;
    public  String city;
}

 5.创建prodao

@Repository
public class prodao {
    @Autowired
    JdbcTemplate jdbcTemplate;
    public int  insertprov(prov prov){
        return jdbcTemplate.update("insert into prov (id,pro_name,city) values (?,?,?)",prov.id,prov.pro_name,prov.city);
    }
    public int updateprov(prov prov){
        return jdbcTemplate.update("update prov set pro_name=?,city=? where id=?",prov.pro_name,prov.city,prov.id);
    }
    public int deleteprov(prov prov){
        return jdbcTemplate.update("delete  from prov where id=?",prov.id);
    }
    public  prov getproById (Integer id){
        return jdbcTemplate.queryForObject("select * from prov where id=?",new BeanPropertyRowMapper<>(prov.class),id);
    }
    public List<prov> getAllProv(){
        return jdbcTemplate.query("select * from prov",new BeanPropertyRowMapper<>(prov.class));
    }
}

 6.创建service

import java.util.List;

@Service
public class ProvService {
    @Autowired
    prodao prodao;
    public int insertprov(prov prov){
        return prodao.insertprov(prov);
    }
    public int updateprov(prov prov){
        return prodao.updateprov(prov);
    }
    public int deleteprov(prov prov) {
        return prodao.deleteprov(prov);
    }
    public  prov getproById (Integer id){
        return prodao.getproById(id);
    }
    public List<prov> getAllProv(){
        return prodao.getAllProv();
    }
 }

7.创建Controller

@RestController
public class DemoController  {
@Autowired
ProvService provService;
@GetMapping("/proname")
public void pronm(){
    prov pv1=new prov();
    pv1.id=8;
    pv1.pro_name="江西省";
    pv1.city="南昌";
    int i=provService.insertprov(pv1);
    System.out.println("insetpro>>>>"+i);

    prov pv2=new prov();
    pv2.id=6;
    pv2.pro_name="广东省";
    pv2.city="广州市";
    int uppro=provService.updateprov(pv2);
    System.out.println("update>>>>"+uppro);
  }

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值