国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SpringBoot非官方教程 | 第三篇:SpringBoot用JdbcTemplates訪問My

tigerZH / 494人閱讀

摘要:本文介紹通過訪問關系型通過的去訪問。通過引入這些依賴和配置一些基本信息,就可以訪問數據庫類。具體編碼實體類省略了層具體的實現類層具體實現類構建一組來展示可以通過來測試,具體的我已經全部測試通過,沒有任何問題。注意構建的風格。

本文介紹springboot通過jdbc訪問關系型mysql,通過spring的JdbcTemplate去訪問。

準備工作
jdk 1.8
maven 3.0
idea
mysql
初始化mysql
-- create table `account`
DROP TABLE `account` IF EXISTS
CREATE TABLE `account` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `money` double DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `account` VALUES ("1", "aaa", "1000");
INSERT INTO `account` VALUES ("2", "bbb", "1000");
INSERT INTO `account` VALUES ("3", "ccc", "1000");
創建工程

引入依賴:

在pom文件引入spring-boot-starter-jdbc的依賴:

 
    org.springframework.boot
    spring-boot-starter-jdbc

引入mysql連接類和連接池:


    mysql
    mysql-connector-java
    runtime



    com.alibaba
    druid
    1.0.29

開啟web:

    
        org.springframework.boot
        spring-boot-starter-web
    
配置相關文件

在application.properties文件配置mysql的驅動類,數據庫地址,數據庫賬號、密碼信息。

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456

通過引入這些依賴和配置一些基本信息,springboot就可以訪問數據庫類。
具體編碼

實體類
public class Account {
    private int id ;
    private String name ;
    private double money;

....省略了getter. setter

}
dao層
public interface IAccountDAO {
    int add(Account account);

    int update(Account account);

    int delete(int id);

    Account findAccountById(int id);

    List findAccountList();
}
dao具體的實現類
package com.forezp.dao.impl;

import com.forezp.dao.IAccountDAO;
import com.forezp.entity.Account;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * Created by fangzhipeng on 2017/4/20.
 */
@Repository
public class AccountDaoImpl implements IAccountDAO {

    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Override
    public int add(Account account) {
        return jdbcTemplate.update("insert into account(name, money) values(?, ?)",
              account.getName(),account.getMoney());

    }

    @Override
    public int update(Account account) {
        return jdbcTemplate.update("UPDATE  account SET NAME=? ,money=? WHERE id=?",
                account.getName(),account.getMoney(),account.getId());
    }

    @Override
    public int delete(int id) {
        return jdbcTemplate.update("DELETE from TABLE account where id=?",id);
    }

    @Override
    public Account findAccountById(int id) {
        List list = jdbcTemplate.query("select * from account where id = ?", new Object[]{id}, new BeanPropertyRowMapper(Account.class));
        if(list!=null && list.size()>0){
            Account account = list.get(0);
            return account;
        }else{
            return null;
        }
    }

    @Override
    public List findAccountList() {
        List list = jdbcTemplate.query("select * from account", new Object[]{}, new BeanPropertyRowMapper(Account.class));
        if(list!=null && list.size()>0){
            return list;
        }else{
            return null;
        }
    }
}
service層
public interface IAccountService {


    int add(Account account);

    int update(Account account);

    int delete(int id);

    Account findAccountById(int id);

    List findAccountList();

}
service具體實現類
@Service
public class AccountService implements IAccountService {
    @Autowired
    IAccountDAO accountDAO;
    @Override
    public int add(Account account) {
        return accountDAO.add(account);
    }

    @Override
    public int update(Account account) {
        return accountDAO.update(account);
    }

    @Override
    public int delete(int id) {
        return accountDAO.delete(id);
    }

    @Override
    public Account findAccountById(int id) {
        return accountDAO.findAccountById(id);
    }

    @Override
    public List findAccountList() {
        return accountDAO.findAccountList();
    }
}
構建一組restful api來展示
package com.forezp.web;

import com.forezp.entity.Account;
import com.forezp.service.IAccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * Created by fangzhipeng on 2017/4/20.
 */

@RestController
@RequestMapping("/account")
public class AccountController {

    @Autowired
    IAccountService accountService;

    @RequestMapping(value = "/list",method = RequestMethod.GET)
    public  List getAccounts(){
       return accountService.findAccountList();
    }

    @RequestMapping(value = "/{id}",method = RequestMethod.GET)
    public  Account getAccountById(@PathVariable("id") int id){
        return accountService.findAccountById(id);
    }

    @RequestMapping(value = "/{id}",method = RequestMethod.PUT)
    public  String updateAccount(@PathVariable("id")int id , @RequestParam(value = "name",required = true)String name,
    @RequestParam(value = "money" ,required = true)double money){
        Account account=new Account();
        account.setMoney(money);
        account.setName(name);
        account.setId(id);
        int t=accountService.update(account);
        if(t==1){
            return account.toString();
        }else {
            return "fail";
        }
    }

    @RequestMapping(value = "",method = RequestMethod.POST)
    public  String postAccount( @RequestParam(value = "name")String name,
                                 @RequestParam(value = "money" )double money){
        Account account=new Account();
        account.setMoney(money);
        account.setName(name);
        int t= accountService.add(account);
        if(t==1){
            return account.toString();
        }else {
            return "fail";
        }

    }

}

可以通過postman來測試,具體的我已經全部測試通過,沒有任何問題。注意restful構建api的風格。

源碼下載:https://github.com/forezp/Spr...

參考資料

relational-data-access

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70356.html

相關文章

  • SpringBoot-JdbcTemplates-MySQL

    摘要:中用訪問一準備工作運行二啟動容器并進行表的創建啟動查看鏡像啟動查看全部的鏡像對應的啟動連接創建數據庫創建表三使用創建項目選擇四配置相關的文件配置配置實體類類名為層接口實現類層接口實現類層控制層五使用進行測試沒有安裝的話可以 SpringBoot 中用 JdbcTemplate 訪問MySQL 一. 準備工作 IDEA docker : 運行MySql 二. 啟動 docker my...

    CoffeX 評論0 收藏0
  • SpringBoot官方教程 | 第十三篇springboot集成spring cache

    摘要:本文介紹如何在中使用默認的聲明式緩存定義和接口用來統一不同的緩存技術。在使用集成的時候,我們需要注冊實現的的。默認使用在我們不使用其他第三方緩存依賴的時候,自動采用作為緩存管理器。源碼下載參考資料揭秘與實戰二數據緩存篇快速入門 本文介紹如何在springboot中使用默認的spring cache 聲明式緩存 Spring 定義 CacheManager 和 Cache 接口用來統一不...

    Magicer 評論0 收藏0
  • SpringBoot 實戰 (六) | JdbcTemplates 訪問 Mysql

    摘要:微信公眾號一個優秀的廢人如有問題或建議,請后臺留言,我會盡力解決你的問題。前言如題,今天介紹通過訪問關系型通過的去訪問。我這里已經全部測試通過,請放心使用。源碼下載后語以上用訪問的教程。另外,關注之后在發送可領取免費學習資料。 微信公眾號:一個優秀的廢人如有問題或建議,請后臺留言,我會盡力解決你的問題。 前言 如題,今天介紹 springboot 通過jdbc訪問關系型mysql,通過...

    wh469012917 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<