用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

rainyday123    -  云代码空间

——

企业级 SpringBoot 教程 (三)SpringBoot用JdbcTemplates访问Mys

2019-02-21|331阅||

摘要:企业级 SpringBoot 教程 (三)SpringBoot用JdbcTemplates访问Mysql

准备工作

  • jdk 1.8
  • maven 3.0
  • idea
  • mysql

初始化mysql:

1
2
3
4
5
6
7
8
9
10
11
-- 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的依赖:

1
2
3
4
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

  引入mysql连接类和连接池:

1
2
3
4
5
6
7
8
9
10
11
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
 
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.29</version>
        </dependency>

  开启web:

1
2
3
4
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>


配置相关文件

在application.properties文件配置mysql的驱动类,数据库地址,数据库账号、密码信息。

1
2
3
4
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就可以访问数据库类。

具体编码

实体类

1
2
3
4
5
6
7
8
public class Account {
    private int id ;
    private String name ;
    private double money;
 
....省略了getter. setter
 
}


dao层

1
2
3
4
5
6
7
8
9
10
11
public interface IAccountDAO {
    int add(Account account);
 
    int update(Account account);
 
    int delete(int id);
 
    Account findAccountById(int id);
 
    List<Account> findAccountList();
}

  具体的实现类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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<Account> 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<Account> findAccountList() {
        List<Account> list = jdbcTemplate.query("select * from account", new Object[]{}, new BeanPropertyRowMapper(Account.class));
        if(list!=null && list.size()>0){
            return list;
        }else{
            return null;
        }
    }
}

资料和源码来源地址
Spring Cloud大型企业分布式微服务云架构源码请加企鹅求求:yuncode.net

顶 0踩 0收藏
文章评论
    发表评论

    个人资料

    • 昵称: rainyday123
    • 等级: 初级设计师
    • 积分: 2440
    • 代码: 0 个
    • 文章: 79 篇
    • 随想: 0 条
    • 访问: 5 次
    • 关注

    人气代码

      标签

      java(2)MVC(7)教程(6)Spring(4)J2EE分布式架构(1)分布式缓存Redis(1)+mybatis(5)+shiro+(2)Activiti(2)+(4)dubbo(1)springmvc(1)mybatis(5)java企业架构(1)(十三)(2)(十四)(2)(十五)(1)kafka集群安装(1)springmvc,(1)阿里云OSS存储(1)Centos下单节点(1)Redis分布式缓存(1)单点登录集成方案,s(1)KafKa+Zook(1)JEESZ-kafk(1)spring,spr(1)mvc,web开发,(1)FastDFS安装、(1)FastDFS分布式(1)Zookeeper集(1)RestFul服务介(1)Kafka入门经典教(1)30分钟学会如何使用(1)springmvc+(1)分布式消息Kafka(1)如何实现redis缓(1)手把手Maven搭建(1)分布式服务:spri(1)Dubbo+Zook(1)分布式架构sprin(1)Springmvc+(1)j2ee分布式架构核(1)DUBBO与ZOOK(1)springmvc整(1)spring和spr(1)J2EE分布式系统环(1)MVC原理(1)Springmvc+(1)环境搭建(一)(1)入门示例讲解(1)【分享】微服务分布式(1)Springmvc+(1)(一)构建dubbo(1)(二)构建dubbo(1)(三)构建dubbo(1)(四)构建sprin(1)(五)构建sprin(1)springmvc+(1)restful(2)redis分布式缓存(1)【分享】微服务分布式(1)Springmvc+(1)(十六)(1)(十七)(1)【企业级框架整合】S(1)springmvc+(1)redis分布式缓存(1)构建springmv(1)构建springmv(1)构建dubbo分布式(1)构建dubbo分布式(1)springmvc+(1)dubbo分布式平台(1)分布式架构sprin(1)分布式服务:spri(1)Dubbo+Zook(1)dubbo分布式平台(1)dubbo分布式平台(1)【分享】微服务分布式(1)Springmvc+(1)Springmvc+(1)j2ee分布式架构核(1)构建springmv(1)构建springmv(1)构建dubbo分布式(1)构建dubbo分布式(1)构建springmv(1)构建dubbo分布式(1)DUBBO与ZOOK(1)构建dubbo分布式(1)SpringBoot(13)企业级(6)(三)(1)B2B2C(1)shop(1)beatlsql(1)(二)Spring(1)Boot配置文件详解(1)整合JPA(1)(五)企业级java(1)b2bc商城系统开源(1)(六)(1)B2B2C多租户电子(1)(四)微服务java(1)分布式环境下自动发现(1)微服务架构(2)SpringClou(1)SpringClou(1)(一)构建第一个Sp(1)(三)SpringB(1)(四)SpringB(1)(五)springb(1)(六)springb(1)企业分布式微服务云S(1)(一)服务的注册与发(1)企业分布式微服务云S(1)(二)服务消费者(r(1)企业分布式微服务云S(1)服务消费者(Feig(1)企业分布式微服务云S(1)(四)断路器(Hys(1)企业分布式微服务云S(1)(五)路由网关(zu(1)

      最新提问

        站长推荐